O slideshow foi denunciado.
Seu SlideShare está sendo baixado. ×

iPhone Development: Multiple Views

Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Carregando em…3
×

Confira estes a seguir

1 de 23 Anúncio

Mais Conteúdo rRelacionado

Semelhante a iPhone Development: Multiple Views (20)

Mais de Jussi Pohjolainen (20)

Anúncio

Mais recentes (20)

iPhone Development: Multiple Views

  1. 1. iPhone  Development:     Mul1ple  Views   Jussi  Pohjolainen   Tampere  University  of  Applied  Sciences  
  2. 2. Mul1view  App:  U1lity  Applica1on   •  Primarily  one  view   •  Second  view  for  seAngs   •  Example:  Stock  -­‐   applica1on  
  3. 3. Mul1view  App:  Tab  Bar  Applica1on   •  Mul1view  app  that   displays  a  row  of   buIons  at  the  boIom   of  the  screen.   •  Tapping  one  of  the   buIons  causes  new   view  to  be  ac1ve.   •  Example:  Phone-­‐app  
  4. 4. Mul1view  App:     Naviga1on-­‐Based  Applica1on   •  Hierarchical   Informa1on  to  the  user   •  Example:  Mail-­‐app  
  5. 5. Terminology  of  Views   •  BuIons,  Labels  and  other  controls  are   subclasses  of  UIView •  View  generally  refers  to  subclass  of  UIView   that  has  corresponding  view  controller   •  Views  with  view  controller  are  called  content   views.  
  6. 6. UIWindow?   •  UIWindow:  the  path  to  the  user   •  If  you  want  something  to  be  visible  for  the   user,  you  must  use  the  UIWindow!   •  UIView  objects  are  arranged  in  UIWindow  in   hierarchy.   •  Parent  object  is  called  superview   –  UIWindow   •  UIView     – UIBuIon  
  7. 7. UIWindow  and  UIView   @interface MultiViewExampleAppDelegate : NSObject <UIApplicationDelegate> { UIWindow *window; } ... [window addSubview: someView];
  8. 8. UIView   •  UIView  is  a  base  class  for  or  the  controls   –  UIView   •  UIControl   –  UIBuIon   •  UIView  may  be  also  a  content  view,  or  canvas.   •  UIView  holds  several  controls:   –  [someUIView addSubView: someButton]; •  So  basically  we  could  have  a  UIWindow,  that  has   one  UIView  that  contains  two  UIViews  which   contains  several  controls  
  9. 9. Controlling  Different  Content  Views   •  To  control  different  content  views,  you  must   have  some  kind  of  root  controller   –  UIViewController  (U2lity  app)   –  UITabBarController  (Tab  Bar  app)   –  UINaviga1onController  (Naviga1on  app)   •  RootController  is  responsible  of  switching   views   •  RootController  holds  content  views  
  10. 10. Controller  and  Content  View   Content  View   Root  Controller   Content  View   Content  View  
  11. 11. Rela1onship   Gray's  view   Root's  view  
  12. 12. Rela1onship   White's  view   Root's  view  
  13. 13. Tab  Bar  Applica1on   Root's  view  
  14. 14. Content  View   •  Content  View  holds  controls  (widgets)   •  Content  View  consists  of   1.  View  Controller  (!)   2.  The  Nib  file      
  15. 15. Controller  and  Content  View   Content  View   View1Controller.h   View1Controller.m   View1.xib   Content  View   Root  Controller   View2Controller.h   View2Controller.m   View2.xib   Content  View   View3Controller.h   View3Controller.m   View3.xib  
  16. 16. Hierarchy   Interface  Builder   UIViewController   UIViewController   (.xib)   Content  View   View  Controller   UIView   UIBuIon   Root  Controller   View  Controller   UIView   UIBuIon   View  Controller   UIView   UIBuIon  
  17. 17. Delegate  Class   #import <UIKit/UIKit.h> #import "SwitchViewController.h" @interface MyAppDelegate : NSObject <UIApplicationDelegate> { UIWindow *window; SwitchMyViewController *switchmyviewcontroller; } @property (nonatomic, retain) IBOutlet UIWindow *window; @property (nonatomic, retain) IBOutlet SwitchMyViewController *switchmyviewcontroller; @end
  18. 18. Delegate  Class  .m   - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // Override point for customization after application launch. [window addSubview: switchmyviewcontroller.view]; [window makeKeyAndVisible]; return YES; }
  19. 19. Root  Controller   // Promise we will import these classes later @class GrayViewController; @class WhiteViewController; @interface SwitchMyViewController : UIViewController { GrayViewController *grayViewController; WhiteViewController *whiteViewController; } @property (nonatomic, retain) GrayViewController *grayViewController; @property (nonatomic, retain) WhiteViewController *whiteViewController; // This method can change views. You can have for example a button // that changes the content view - (IBAction) switchViews:(id) sender; @end
  20. 20. Content  View's  Controller   #import <UIKit/UIKit.h> @interface WhiteViewController: UIViewController { } // Possible actions and outlets -(IBAction) grayButtonPressed:(id) sender; @end
  21. 21. UIViewController  -­‐>  View?   •  Each  View  Controller  has  a  View...   –  ..where  all  the  controls,  widgets,  are  stored   •  The  view  is  usually  implemented  in  Interface   builder   •  So  you  should  have   –  MyView1Controller.h –  MyView1Controller.m –  MyView1.xib
  22. 22. Crea1ng  Controllers  
  23. 23. Crea1ng  .nib  files  

×