CS193p 斯坦福IOS开发 2011 (六)

2019-01-23  本文已影响0人  ItchyHiker

前向引用

@class

多个MVC

一个MVC只能控制一个屏幕,或者更小的区域,随着程序变得越来越复杂,我们会需要多个MVC,那么如何在多个MVC之间进行切换呢?
答案是使用:Controller of Controller : UINavigationController

UINavigationController

  1. 什么是UINavigationController
  1. 如何创建一个UINavigationController


    Screen Shot 2019-01-23 at 11.59.36 AM.png

Segues

  1. segues的三种方式:

IPAD ONLY:

  1. 如何创建Segues:
    ctrl + 拖拽

  2. 一般是通过用户切换来进行跳转但是有时候也可以通过 segueID在代码里面进行条件跳转

- (void)performSegueWithIdentifier:(NSString *)segueId sender:(id)sender;

例子:

- (IBAction)rentEquipment
{
if (self.snowTraversingTalent == Skiing) {
[self performSegueWithIdentifier:@“AskAboutSkis” sender:self];
} else {
[self performSegueWithIdentifier:@“AskAboutSnowboard” sender:self];
  }
}
  1. 跳转之前准备方法
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([segue.identifier isEqualToString:@“DoAParticularThing”]) {
    UIViewController *newController = segue.destinationViewController;
  }
  // send messages to newController to prepare it to appear on screen
  // the segue will do the work of putting the new controller on screen
}
  1. 通过名字从故事版实例化ViewController, 而不是从segue创建
- (IBAction)doit
{
DoitViewController *doit =
[self.storyboard instantiateViewControllerWithIdentifier:@”doit1”];
doit.infoDoitNeeds = self.info;
[self.navigationController pushViewController:doit animated:YES];
}
上一篇下一篇

猜你喜欢

热点阅读