SlideShare a Scribd company logo
1 of 79
Download to read offline
iPhone SDK




http://kishikawakatsumi.com

Twitter
@k_katsumi

24/7 twenty-four seven
http://d.hatena.ne.jp/KishikawaKatsumi/
iPhone SDK



•     touch   •MyWebClip
•LDR touch    •
•             •      on the WEB
•LCD Clock    •i-Radio
•Subway Map   •
iPhone SDK

http://github.com/kishikawakatsumi

•hatena-touch     •DescriptionBuilder
•ldr-touch        •TiledLayerView
•tv-listings      •UICCalendarPicker
•MapKit-Route-Directions
•FlipCardNavigationView
•PhotoFlipCardView
iPhone SDK
iPhone SDK


 UIViewController
iPhone SDK
iPhone SDK
iPhone SDK
iPhone SDK


•iOS View Controller
•Cocoa
iPhone SDK


 UIViewController
iPhone SDK


  Interface Builder
iPhone SDK


     Apple
iPhone SDK
#import <UIKit/UIKit.h>
#import "MyLabel.h"
#import "MyButton.h"

@interface SecondViewController : UIViewController {
    MyLabel *label;
    MyButton *button;
}

@property (nonatomic, retain) IBOutlet MyLabel *label;
@property (nonatomic, retain) IBOutlet MyButto *button;

- (IBAction)buttonPushed:(id)sender;

@end
iPhone SDK
@synthesize label;
@synthesize button;

- (void)dealloc {
    self.label = nil;
    self.button = nil;
    [super dealloc];
}
iPhone SDK
iPhone SDK
#import <UIKit/UIKit.h>
#import "MyLabel.h"
#import "MyButton.h"

@interface SecondViewController : UIViewController {
    IBOutlet MyLabel *label;
    IBOutlet MyButton *button;
}

- (IBAction)buttonPushed:(id)sender;

@end
iPhone SDK
- (void)dealloc {
    [label release];
    [button release];
    [super dealloc];
}
iPhone SDK


•
    setter
setter
•setter
                 retain
iPhone SDK


  Interface Builder
iPhone SDK
#import <UIKit/UIKit.h>
#import "MyLabel.h"
#import "MyButton.h"

@interface SecondViewController : UIViewController {
    MyLabel *label;
    MyButton *button;
}

- (void)buttonPushed:(id)sender;

@end
iPhone SDK
- (void)dealloc {
    [super dealloc];
}
iPhone SDK


  Interface Builder
iPhone SDK

  Interface Builder
iPhone SDK
iPhone SDK
#import <UIKit/UIKit.h>
#import "MyLabel.h"
#import "MyButton.h"

@interface SecondViewController : UIViewController {
    MyLabel *label;
    MyButton *button;
}

@property (nonatomic, retain) MyLabel *label;
@property (nonatomic, retain) MyButton *button;

- (void)buttonPushed:(id)sender;

@end
iPhone SDK
- (void)dealloc {
    self.label = nil;
    self.button = nil;
    [super dealloc];
}
iPhone SDK




self.propertyName = nil;
               OK
iPhone SDK
- (void)dealloc {
    self.label = nil;
    self.button = nil;
    [super dealloc];
}
iPhone SDK
- (void)dealloc {
    [label release]; label = nil;
    [button release]; button = nil;
    [super dealloc];
}
iPhone SDK
iPhone SDK
@interface SecondViewController() {
    MyLabel *label;
    MyButton *button;
}

@property (nonatomic, retain) MyLabel *label;
@property (nonatomic, retain) MyButto *button;
@end

@implementation SecondViewController
...
iPhone SDK


iPhone
iPhone SDK
iPhone SDK

nib                                            nib
(Mac OS X                 iPhone           )


            Objective-C




@property (attributes) IBOutlet UserInterfaceElementClass *anOutlet;




                                   Cocoa
iPhone SDK
                                                (   Mac OS X         (44
        )           iPhone   (45    )     )
■

   Mac OS X
@property (assign) IBOutlet UserInterfaceElementClass *anOutlet;
■

   iPhone OS X
@property (nonatomic, retain) Outlet UIUserInterfaceElementClass *anOutlet;



        (iPhone OS       )dealloc




                                        Cocoa
iPhone SDK
nib                                     1
                                       UIKit setValue:forKey:
                                                          setter
                      setter
             (                 (43      )
  )


loadNibNamed:owner:options:




                               Cocoa
iPhone SDK
nib                                     1
                                       UIKit setValue:forKey:
                                                          setter
                      setter
             (                 (43      )
  )


loadNibNamed:owner:options:




                               Cocoa
iPhone SDK
View Controller              (didReceiveMemoryWarning)


  1        View Controller
                             (didReceiveMemoryWarning               UIViewController
  [self setView:nil]                 )
          nib                                                   (                (43
      )         )


                                                     didReceiveMemoryWarning




                                         Cocoa
iPhone SDK
                                                                View Controller
setView:
- (void)setView:(UIView *)aView {
    if (!aView) { //        nil
         //                     nil
         self.anOutlet = nil;
    }
    //
    [super setView:aView];
}
                                                           UIViewController       (
                       )setView:                          dealloc
                                        dealloc       self.anOutlet = nil
                                    View Controller             dealloc




                                         Cocoa
iPhone SDK
- (void)viewDidUnload {

    self.anOutlet = nil;

    [super viewDidUnload];

}




                    Cocoa
+ (void)initialize {
    sectionIndexTitles =


              iPhone SDK
     [[NSArray arrayWithObjects:@"1-10", @"11-100", @"101-400", nil] retain];
}

- (id)init {
    if (self = [super init]) {
        self.pageURL = @"http://www.yahoo.co.jp";

        operationQueue = [[NSOperationQueue alloc] init];
        [operationQueue setMaxConcurrentOperationCount:1];

        [NSFetchedResultsController deleteCacheWithName:nil];
    }
    return self;
}

- (void)dealloc {
    [[NSNotificationCenter defaultCenter] removeObserver:self];
    self.pageURL = nil;
    [operationQueue release];
    [super dealloc];
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
}

- (void)viewDidUnload {
    [super viewDidUnload];
   [[NSNotificationCenter defaultCenter] removeObserver:self];
}
- (void)loadView {
    UIView *contentView =
     [[UIView alloc] initWithFrame:
           iPhone SDK
       CGRectMake(0.0f, 0.0f, 320.0f, 367.0f)];
    contentView.backgroundColor = [UIColor blackColor];
    self.view = contentView;
    [contentView release];

    UIImageView *background =
     [[UIImageView alloc] initWithImage:[UIImage
imageNamed:@"search_bg.png"]];
    [contentView addSubview:background];
    [background release];

    searchBar = [[UISearchBar alloc] initWithFrame:
                  CGRectMake(0.0f, 0.0f, 320.0f, 44.0f)];
    searchBar.delegate = self;
    searchBar.showsScopeBar = YES;
    [[searchBar.subviews objectAtIndex:0]
      performSelector:@selector(setBackgroundImage:)
           withObject:[UIImage imageNamed:@"searchbar_bg.png"]];
    [contentView addSubview:searchBar];
    [searchBar release];
}
- (void)viewDidLoad {

            iPhone SDK
    [super viewDidLoad];
    self.title = NSLocalizedString(@"AppName", nil);

    UIBarButtonItem *backBarButtonItem =
     [[UIBarButtonItem alloc] initWithImage:
       [UIImage imageNamed:@"arrow_left_small.png"]
                                      style:UIBarButtonItemStyleBordered
                                     target:nil
                                     action:nil];
    [self.navigationItem setBackBarButtonItem:backBarButtonItem];
    [backBarButtonItem release];

   if (&UIApplicationDidEnterBackgroundNotification) {
        [[NSNotificationCenter defaultCenter] addObserver:self
                                                 selector:
          @selector(applicationDidEnterBackground:)
                                                     name:
          UIApplicationDidEnterBackgroundNotification object:nil];
    }
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector
(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil];
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector
(keyboardWillHide:) name:UIKeyboardWillHideNotification object:nil];
}
iPhone SDK
iPhone SDK
 init


              loadView
                            viewWillAppear:
                               animated:
             viewDidLoad
                            viewDidAppear:
                               animated:

                            viewWillDisappe
                              ar:animated:
            didReceiveMem
              oryWarning    viewDidDisappe
                              ar:animated:
            viewDidUnload


dealloc
iPhone SDK
initWithNibName:

                    viewDidLoad
                                   viewWillAppear:
                                      animated:

                                   viewDidAppear:
                                      animated:

                                   viewWillDisappe
                                     ar:animated:
                   didReceiveMem
                     oryWarning    viewDidDisappe
                                     ar:animated:
                   viewDidUnload


    dealloc
iPhone SDK
 init


              loadView
                            viewWillAppear:
                               animated:
             viewDidLoad
                            viewDidAppear:
                               animated:

                            viewWillDisappe
                              ar:animated:
            didReceiveMem
              oryWarning    viewDidDisappe
                              ar:animated:
            viewDidUnload


dealloc
iPhone SDK
initWithNibName:

                    viewDidLoad
                                   viewWillAppear:
                                      animated:

                                   viewDidAppear:
                                      animated:

                                   viewWillDisappe
                                     ar:animated:
                   didReceiveMem
                     oryWarning    viewDidDisappe
                                     ar:animated:
                   viewDidUnload


    dealloc
iPhone SDK


    loadView
- (void)loadView {
    UIView *contentView =
     [[UIView alloc] initWithFrame:
           iPhone SDK
       CGRectMake(0.0f, 0.0f, 320.0f, 367.0f)];
    contentView.backgroundColor = [UIColor blackColor];
    self.view = contentView;
    [contentView release];

    UIImageView *background =
     [[UIImageView alloc] initWithImage:[UIImage
imageNamed:@"search_bg.png"]];
    [contentView addSubview:background];
    [background release];

    searchBar = [[UISearchBar alloc] initWithFrame:
                  CGRectMake(0.0f, 0.0f, 320.0f, 44.0f)];
    searchBar.delegate = self;
    searchBar.showsScopeBar = YES;
    [[searchBar.subviews objectAtIndex:0]
      performSelector:@selector(setBackgroundImage:)
           withObject:[UIImage imageNamed:@"searchbar_bg.png"]];
    [contentView addSubview:searchBar];
    [searchBar release];
}
iPhone SDK

   viewDidLoad
- (void)viewDidLoad {
           iPhone SDK
    [super viewDidLoad];

    self.managedObjectContext =
     [[[UIApplication sharedApplication] delegate]
        managedObjectContext];
    self.store =
     [[[UIApplication sharedApplication] delegate] store];

    self.searchController =
     [[[UISearchDisplayController alloc] initWithSearchBar:searchBar
                                        contentsController:self]
      autorelease];
    searchController.delegate = self;
    searchController.searchResultsDelegate = self;
    searchController.searchResultsDataSource = self;
    searchController.searchResultsTableView.hidden = YES;
}
iPhone SDK
[initWithNibName:bundle:];
[viewDidLoad];

[viewWillAppear:];
[viewDidAppear:];
[viewWillDisappear:];
[viewDidDisappear:];

[viewWillAppear:];
[viewDidAppear:];
[viewWillDisappear:];
[viewDidDisappear:];

[dealloc];
iPhone SDK

[init];
[loadView];
[viewDidLoad];

[viewWillAppear:];
[viewDidAppear:];

[didReceiveMemoryWarning];
iPhone SDK

[init];
[loadView];
[viewDidLoad];

[viewWillAppear:];
[viewDidAppear:];

[didReceiveMemoryWarning];
[init];
        iPhone SDK
[loadView];
[viewDidLoad];

[viewWillAppear:];
[viewDidAppear:];
[viewWillDisappear:];
[viewDidDisappear:];

[didReceiveMemoryWarning];
[viewDidUnload];

[loadView];
[viewDidLoad];

[viewWillAppear:];
[viewDidAppear:];
iPhone SDK
[init];
[loadView];
[viewDidLoad];

[viewWillAppear:];
[viewDidAppear:];
[viewWillDisappear:];
[viewDidDisappear:];

[didReceiveMemoryWarning];
[viewDidUnload];

[loadView];
[viewDidLoad];

[viewWillAppear:];
[viewDidAppear:];
iPhone SDK
[init];
[loadView];
[viewDidLoad];

[viewWillAppear:];
[viewDidAppear:];
[viewWillDisappear:];
[viewDidDisappear:];

[didReceiveMemoryWarning];
[viewDidUnload];

[dealloc];
iPhone SDK

[init];
[loadView];
[viewDidLoad];

[viewWillAppear:];
[viewDidAppear:];
[viewWillDisappear:];
[viewDidDisappear:];

[didReceiveMemoryWarning];
[viewDidUnload];

[dealloc];
iPhone SDK


       CornerCase:
viewXXXAppear:
iPhone SDK



[init];
[loadView];
[viewDidLoad];

[dealloc];
iPhone SDK
   [view addSubview:viewController.view];




[init];
[loadView];
[viewDidLoad];

[dealloc];
iPhone SDK

UINavigationConroller
[pushViewController:animated:];
[popViewControllerAnimated:];
[popToViewController:animated:];

UITabBarController
[setSelectedIndex:];

UIViewConroller
[presentModalViewController:animated:];
dismissModalViewControllerAnimated:];

UIPopoverConroller
iPhone SDK
- (void)pushViewController:(UIViewController *)viewController
                  animated:(BOOL)animated {
    UIView *contentView = viewController.view;

    if (animated) {
        [UIView beginAnimations:nil context:NULL];
        ...
    }

    [viewController viewWillAppear:animated];

    [self.view addSubview:contentView];

    [viewController viewDidAppear:animated];

    ...
}
iPhone SDK
iPhone SDK
iPhone SDK

       CornerCase:
popViewControllerAnimated:
iPhone SDK

      CornerCase:
UIWebView
iPhone SDK
iPhone SDK

    CornerCase:
iPhone SDK
iPhone SDK




       UITextView
   UIControl
 UITextField, UISwitch
iPhone SDK

         CornerCase:
iPhone 4   iPhone 3GS
iPhone SDK

    CornerCase:
iPhone SDK
iPhone SDK
- (void)diaryUploader:(DiaryUploader *)uploader uploadFailed:(NSError *)
error {
    if (error) {
        alert = [[UIAlertView alloc]
                  initWithTitle:NSLocalizedString(@"AppName", nil)
                        message:
                  [NSString stringWithFormat:@"%@",
                   [error localizedDescription]]
                       delegate:self
              cancelButtonTitle:nil
              otherButtonTitles:NSLocalizedString(@"OK", nil), nil];
        [alert show];
        [alert release];
    }
}
iPhone SDK
- (void)viewDidLoad {
    [super viewDidLoad];

    if (&UIApplicationDidEnterBackgroundNotification) {
        [[NSNotificationCenter defaultCenter] addObserver:self
                                                 selector:
          @selector(applicationDidEnterBackground:)
                                                     name:
          UIApplicationDidEnterBackgroundNotification object:nil];
    }
}
- (void)alertView:(UIAlertView *)alertView
         iPhone SDK
didDismissWithButtonIndex:(NSInteger)buttonIndex {
    alert = nil;
}

- (void)applicationDidEnterBackground:
(NSNotification *)note {
    [alert dismissWithClickedButtonIndex:0
                                animated:NO];
    alert = nil;

    if (self.modalViewController) {
        [self.modalViewController
         dismissModalViewControllerAnimated:NO];
    }
}
iPhone SDK

    CornerCase:

More Related Content

What's hot

Titanium Studio [Updated - 18/12/2011]
Titanium Studio [Updated - 18/12/2011]Titanium Studio [Updated - 18/12/2011]
Titanium Studio [Updated - 18/12/2011]Sentinel Solutions Ltd
 
L0020 - The Basic RCP Application
L0020 - The Basic RCP ApplicationL0020 - The Basic RCP Application
L0020 - The Basic RCP ApplicationTonny Madsen
 
Standford 2015 week5: 1.View Controller Lifecycle, Autolayout 2. Scroll View ...
Standford 2015 week5: 1.View Controller Lifecycle, Autolayout 2. Scroll View ...Standford 2015 week5: 1.View Controller Lifecycle, Autolayout 2. Scroll View ...
Standford 2015 week5: 1.View Controller Lifecycle, Autolayout 2. Scroll View ...彼得潘 Pan
 
Google Plus SignIn : l'Authentification Google
Google Plus SignIn : l'Authentification GoogleGoogle Plus SignIn : l'Authentification Google
Google Plus SignIn : l'Authentification GoogleMathias Seguy
 
Apps development for Recon HUDs
Apps development for Recon HUDsApps development for Recon HUDs
Apps development for Recon HUDsXavier Hallade
 
Implementing Data Visualization Apps on iOS Devices
Implementing Data Visualization Apps on iOS DevicesImplementing Data Visualization Apps on iOS Devices
Implementing Data Visualization Apps on iOS DevicesDouglass Turner
 
Mobile Application Development with JUCE and Native API’s
Mobile Application Development with JUCE and Native API’sMobile Application Development with JUCE and Native API’s
Mobile Application Development with JUCE and Native API’sAdam Wilson
 
L0036 - Creating Views and Editors
L0036 - Creating Views and EditorsL0036 - Creating Views and Editors
L0036 - Creating Views and EditorsTonny Madsen
 
Pavlo Zhdanov "Java and Swift: How to Create Applications for Automotive Head...
Pavlo Zhdanov "Java and Swift: How to Create Applications for Automotive Head...Pavlo Zhdanov "Java and Swift: How to Create Applications for Automotive Head...
Pavlo Zhdanov "Java and Swift: How to Create Applications for Automotive Head...LogeekNightUkraine
 
Eclipse Training - Standard Extension Points and APIs
Eclipse Training - Standard Extension Points and APIsEclipse Training - Standard Extension Points and APIs
Eclipse Training - Standard Extension Points and APIsLuca D'Onofrio
 
Baruco 2014 - Rubymotion Workshop
Baruco 2014 - Rubymotion WorkshopBaruco 2014 - Rubymotion Workshop
Baruco 2014 - Rubymotion WorkshopBrian Sam-Bodden
 
Android app development basics
Android app development basicsAndroid app development basics
Android app development basicsAnton Narusberg
 
Capture image on eye blink
Capture image on eye blinkCapture image on eye blink
Capture image on eye blinkInnovationM
 
L0018 - SWT - The Standard Widget Toolkit
L0018 - SWT - The Standard Widget ToolkitL0018 - SWT - The Standard Widget Toolkit
L0018 - SWT - The Standard Widget ToolkitTonny Madsen
 
Introduction to Honeycomb APIs - Android Developer Lab 2011 Q3
Introduction to Honeycomb APIs - Android Developer Lab 2011 Q3Introduction to Honeycomb APIs - Android Developer Lab 2011 Q3
Introduction to Honeycomb APIs - Android Developer Lab 2011 Q3Paris Android User Group
 
Efficient Image Processing - Nicolas Roard
Efficient Image Processing - Nicolas RoardEfficient Image Processing - Nicolas Roard
Efficient Image Processing - Nicolas RoardParis Android User Group
 
Mobile Worshop Lab guide
Mobile Worshop Lab guideMobile Worshop Lab guide
Mobile Worshop Lab guideMan Chan
 
How to Build & Develop Responsive Open Learning Environments with the ROLE SDK
How to Build & Develop Responsive Open Learning Environments with the ROLE SDKHow to Build & Develop Responsive Open Learning Environments with the ROLE SDK
How to Build & Develop Responsive Open Learning Environments with the ROLE SDKDominik Renzel
 

What's hot (20)

Titanium Studio [Updated - 18/12/2011]
Titanium Studio [Updated - 18/12/2011]Titanium Studio [Updated - 18/12/2011]
Titanium Studio [Updated - 18/12/2011]
 
L0020 - The Basic RCP Application
L0020 - The Basic RCP ApplicationL0020 - The Basic RCP Application
L0020 - The Basic RCP Application
 
Standford 2015 week5: 1.View Controller Lifecycle, Autolayout 2. Scroll View ...
Standford 2015 week5: 1.View Controller Lifecycle, Autolayout 2. Scroll View ...Standford 2015 week5: 1.View Controller Lifecycle, Autolayout 2. Scroll View ...
Standford 2015 week5: 1.View Controller Lifecycle, Autolayout 2. Scroll View ...
 
Ios - Introduction to platform & SDK
Ios - Introduction to platform & SDKIos - Introduction to platform & SDK
Ios - Introduction to platform & SDK
 
Google Plus SignIn : l'Authentification Google
Google Plus SignIn : l'Authentification GoogleGoogle Plus SignIn : l'Authentification Google
Google Plus SignIn : l'Authentification Google
 
Apps development for Recon HUDs
Apps development for Recon HUDsApps development for Recon HUDs
Apps development for Recon HUDs
 
Implementing Data Visualization Apps on iOS Devices
Implementing Data Visualization Apps on iOS DevicesImplementing Data Visualization Apps on iOS Devices
Implementing Data Visualization Apps on iOS Devices
 
Mobile Application Development with JUCE and Native API’s
Mobile Application Development with JUCE and Native API’sMobile Application Development with JUCE and Native API’s
Mobile Application Development with JUCE and Native API’s
 
L0036 - Creating Views and Editors
L0036 - Creating Views and EditorsL0036 - Creating Views and Editors
L0036 - Creating Views and Editors
 
Pavlo Zhdanov "Java and Swift: How to Create Applications for Automotive Head...
Pavlo Zhdanov "Java and Swift: How to Create Applications for Automotive Head...Pavlo Zhdanov "Java and Swift: How to Create Applications for Automotive Head...
Pavlo Zhdanov "Java and Swift: How to Create Applications for Automotive Head...
 
Eclipse Training - Standard Extension Points and APIs
Eclipse Training - Standard Extension Points and APIsEclipse Training - Standard Extension Points and APIs
Eclipse Training - Standard Extension Points and APIs
 
Baruco 2014 - Rubymotion Workshop
Baruco 2014 - Rubymotion WorkshopBaruco 2014 - Rubymotion Workshop
Baruco 2014 - Rubymotion Workshop
 
Android app development basics
Android app development basicsAndroid app development basics
Android app development basics
 
Capture image on eye blink
Capture image on eye blinkCapture image on eye blink
Capture image on eye blink
 
L0018 - SWT - The Standard Widget Toolkit
L0018 - SWT - The Standard Widget ToolkitL0018 - SWT - The Standard Widget Toolkit
L0018 - SWT - The Standard Widget Toolkit
 
Introduction to Honeycomb APIs - Android Developer Lab 2011 Q3
Introduction to Honeycomb APIs - Android Developer Lab 2011 Q3Introduction to Honeycomb APIs - Android Developer Lab 2011 Q3
Introduction to Honeycomb APIs - Android Developer Lab 2011 Q3
 
Efficient Image Processing - Nicolas Roard
Efficient Image Processing - Nicolas RoardEfficient Image Processing - Nicolas Roard
Efficient Image Processing - Nicolas Roard
 
Extend sdk
Extend sdkExtend sdk
Extend sdk
 
Mobile Worshop Lab guide
Mobile Worshop Lab guideMobile Worshop Lab guide
Mobile Worshop Lab guide
 
How to Build & Develop Responsive Open Learning Environments with the ROLE SDK
How to Build & Develop Responsive Open Learning Environments with the ROLE SDKHow to Build & Develop Responsive Open Learning Environments with the ROLE SDK
How to Build & Develop Responsive Open Learning Environments with the ROLE SDK
 

Similar to UIViewControllerのコーナーケース

Quick Start to iOS Development
Quick Start to iOS DevelopmentQuick Start to iOS Development
Quick Start to iOS DevelopmentJussi Pohjolainen
 
I phone勉強会 (2011.11.23)
I phone勉強会 (2011.11.23)I phone勉強会 (2011.11.23)
I phone勉強会 (2011.11.23)Katsumi Kishikawa
 
iPhone SDK dev sharing - the very basics
iPhone SDK dev sharing - the very basicsiPhone SDK dev sharing - the very basics
iPhone SDK dev sharing - the very basicskenshin03
 
Leaving Interface Builder Behind
Leaving Interface Builder BehindLeaving Interface Builder Behind
Leaving Interface Builder BehindJohn Wilker
 
漫游iOS开发指南
漫游iOS开发指南漫游iOS开发指南
漫游iOS开发指南jeff kit
 
Custom cell in objective c
Custom cell in objective cCustom cell in objective c
Custom cell in objective cVishal Verma
 
React Native for multi-platform mobile applications
React Native for multi-platform mobile applicationsReact Native for multi-platform mobile applications
React Native for multi-platform mobile applicationsMatteo Manchi
 
Iphone os dev sharing with new examples
Iphone os dev sharing with new examplesIphone os dev sharing with new examples
Iphone os dev sharing with new exampleskenshin03
 
New to native? Getting Started With iOS Development
New to native?   Getting Started With iOS DevelopmentNew to native?   Getting Started With iOS Development
New to native? Getting Started With iOS DevelopmentGeoffrey Goetz
 
Practicing AppDevKit in kata training
Practicing AppDevKit in kata trainingPracticing AppDevKit in kata training
Practicing AppDevKit in kata traininganistar sung
 
How To Build iOS Apps Without interface Builder
How To Build iOS Apps Without interface BuilderHow To Build iOS Apps Without interface Builder
How To Build iOS Apps Without interface Builderdasdom
 
[JMaghreb 2014] Developing JavaScript Mobile Apps Using Apache Cordova
[JMaghreb 2014] Developing JavaScript Mobile Apps Using Apache Cordova[JMaghreb 2014] Developing JavaScript Mobile Apps Using Apache Cordova
[JMaghreb 2014] Developing JavaScript Mobile Apps Using Apache CordovaHazem Saleh
 
iOS overview
iOS overviewiOS overview
iOS overviewgupta25
 
Arc of developer part2
Arc of developer part2Arc of developer part2
Arc of developer part2Junpei Wada
 

Similar to UIViewControllerのコーナーケース (20)

PhotoFlipCardView
PhotoFlipCardViewPhotoFlipCardView
PhotoFlipCardView
 
iOS
iOSiOS
iOS
 
Quick Start to iOS Development
Quick Start to iOS DevelopmentQuick Start to iOS Development
Quick Start to iOS Development
 
I phone勉強会 (2011.11.23)
I phone勉強会 (2011.11.23)I phone勉強会 (2011.11.23)
I phone勉強会 (2011.11.23)
 
iPhone SDK dev sharing - the very basics
iPhone SDK dev sharing - the very basicsiPhone SDK dev sharing - the very basics
iPhone SDK dev sharing - the very basics
 
Leaving Interface Builder Behind
Leaving Interface Builder BehindLeaving Interface Builder Behind
Leaving Interface Builder Behind
 
漫游iOS开发指南
漫游iOS开发指南漫游iOS开发指南
漫游iOS开发指南
 
Custom cell in objective c
Custom cell in objective cCustom cell in objective c
Custom cell in objective c
 
React Native for multi-platform mobile applications
React Native for multi-platform mobile applicationsReact Native for multi-platform mobile applications
React Native for multi-platform mobile applications
 
Iphone os dev sharing with new examples
Iphone os dev sharing with new examplesIphone os dev sharing with new examples
Iphone os dev sharing with new examples
 
Iphone course 3
Iphone course 3Iphone course 3
Iphone course 3
 
New to native? Getting Started With iOS Development
New to native?   Getting Started With iOS DevelopmentNew to native?   Getting Started With iOS Development
New to native? Getting Started With iOS Development
 
Practicing AppDevKit in kata training
Practicing AppDevKit in kata trainingPracticing AppDevKit in kata training
Practicing AppDevKit in kata training
 
Hello world ios v1
Hello world ios v1Hello world ios v1
Hello world ios v1
 
How To Build iOS Apps Without interface Builder
How To Build iOS Apps Without interface BuilderHow To Build iOS Apps Without interface Builder
How To Build iOS Apps Without interface Builder
 
[JMaghreb 2014] Developing JavaScript Mobile Apps Using Apache Cordova
[JMaghreb 2014] Developing JavaScript Mobile Apps Using Apache Cordova[JMaghreb 2014] Developing JavaScript Mobile Apps Using Apache Cordova
[JMaghreb 2014] Developing JavaScript Mobile Apps Using Apache Cordova
 
I os 11
I os 11I os 11
I os 11
 
iOS_Presentation
iOS_PresentationiOS_Presentation
iOS_Presentation
 
iOS overview
iOS overviewiOS overview
iOS overview
 
Arc of developer part2
Arc of developer part2Arc of developer part2
Arc of developer part2
 

UIViewControllerのコーナーケース