浅谈UIStoryboardSegue 的一些方法

在故事版(Storyboard)中常用的几种方法

1.显示故事版中指定的视图控制器:

(1)获取故事版
+ (UIStoryboard*)storyboardWithName:(NSString*)name bundle:(NSBundle*)storyboardBundleOrNil;

(2)获取故事版中的视图控制器
- (id)instantiateInitialViewController;

– (id)instantiateViewControllerWithIdentifier:(NSString *)identifier;

2.连线(UIStoryboardSegue)

连线是故事版文件中视图控制器切换效果。

(1)自定义切换效果

创建一个UIStoryboardSegue的子类并覆盖方法- (void)perform,在此方法中实现自定义切换动画,如:
-(void)perform
{
//里面写动画
}

(2)触发连线

故事版能够基于视图控制器的特定事件(如:按钮的点击事件)自动触发连线,我们也可以通过编程触发连线。
// 编程的方式触发连线

– (void)performSegueWithIdentifier:(NSString*)identifier sender:(id)sender;

3)连线执行时,会在源视图控制器中调用
- (void)prepareForSegue:(UIStoryboardSegue*)segue sender:(id)sender
这时覆盖此方法,并通过segue.sourceViewController获取源视图控制器,segue.destinationViewController获取目标控制器,此时可以设置目标控制器的一些初始化值,以及代理.

3.回退到之前的视图控制器

(1)第一步,在视图控制器中实现IBAction方法(接收UIStoryboarySegue对象作为参数)如下所示:
- (IBAction)unwindMethod:(UIStoryboardSegue*)segue {

}

(2)第二部,进入Storyboard文件,将视图控制器中的事件,跟它的Exit对象连接起来。

4.使用故事版来实现表视图

使用故事版可以构建两种类型的表视图:不需要特殊类提供数据源的静态表;含有绑定模型中数据的原型单元格。

(1)静态表

拖曳一个UITableViewController并选择Table View,然后在特性查看器中选择Static Cells,可在故事版中创建静态表,如下图:
静态单元格适用于创建设置界面,只能为UITableViewController生成的表视图创建静态单元格,作为UIViewController视图的子视图添加的表视图无法创建。

2)原型单元格

原型单元格跟自定义表视图单元格类似,不过不是在单独的nib文件中创建原型单元格,然后再在数据源方法cellForRowAtIndexPath:中加载它们,而是在IB的故事版上创建,并且只要在数据源方法中设置一下数据就OK了。

最后,可通过创建多个故事版来解决合并冲突的问题

你可能感兴趣的:(技术)