【IOS 开发学习总结-OC-56】故事板storyborad的segue

来源:互联网 发布:ug8.0编程视频 编辑:程序博客网 时间:2024/06/04 18:12

【IOS 开发学习总结-OC-56】故事板storyborad的segue

故事板storyborad的segue可以用来导航——优势在于,无需代码即可实现导航(在storyborad中配置即可)。

UIViewController为 segue 提供的方法

- (void)performSegueWithIdentifier:(NSString *)identifier sender:(nullable id)sender NS_AVAILABLE_IOS(5_0); //根据segue的标识符触发指定的 segue- (BOOL)shouldPerformSegueWithIdentifier:(NSString *)identifier sender:(nullable id)sender NS_AVAILABLE_IOS(6_0); // 是否将要通过segue的标识符触发指定的segue- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(nullable id)sender NS_AVAILABLE_IOS(5_0);//当segue被触发,且将要从一个视图控制器转到下一个视图控制器时,自动调用该方法

上面的方法中有涉及到UIStoryboardSegue对象。
UIStoryboardSegue 对象的定义:

NS_CLASS_AVAILABLE_IOS(5_0) @interface UIStoryboardSegue : NSObject+ (instancetype)segueWithIdentifier:(nullable NSString *)identifier source:(UIViewController *)source destination:(UIViewController *)destination performHandler:(void (^)(void))performHandler NS_AVAILABLE_IOS(6_0);//类方法,通过标识符创建实例- (instancetype)initWithIdentifier:(nullable NSString *)identifier source:(UIViewController *)source destination:(UIViewController *)destination NS_DESIGNATED_INITIALIZER;- (instancetype)init NS_UNAVAILABLE;@property (nullable, nonatomic, copy, readonly) NSString *identifier;//获取该 segue 的唯一标识@property (nonatomic, readonly) __kindof UIViewController *sourceViewController;//获取该 segue 将要从哪个视图控制器跳转@property (nonatomic, readonly) __kindof UIViewController *destinationViewController;//获取该 segue 将要跳转到哪个视图控制器- (void)perform;@end

segue控制控制器间过渡

控制器间过渡使用 segue时的创建类型

iPhone 设备中有3种类型:
1. push:——只有使用UINavigationController视图控制器时,才支持这种类型;
2. modal:——普通视图过渡可选择这种;
3. custom:——当打算使用自定义的 segue 时才选择这种。

iPad 中,有push,modal,popover,replace和custom五种不同的类型。

具体的介绍,参见笔记:故事板 storyboard中 segue 的 push、modal、popover、replace、custom 学习笔记

示例:使用 segue 进行控制器间的数据传输

这里写图片描述
实例代码下载地址:
使用 segue 进行控制器间的数据传输.zip

Tip:
一般来说,segue 已经被关联到特定的 UIControl 控件——只要用户单击该控件,就会触发该 segue,所以,一般开发者无需调用该方法。but, 该方法提供了这样的机制:运行开发者以编程的方式触发 segue——程序必须可以控制经过多长时间后自动跳转到下一个视图控制器(无需用户操作)。

segue控制导航

segue控制导航示例代码下载(修改自疯狂 ios书中代码):

这里写图片描述
在选中单元格,按住 control 键盘+拖拽到相应视图控制器上的时候,有2种 segue。
1. selection segue:——选择指定表格行时的 segue
2. accessory segue:——单击表格 行附件控件的 segue
这里写图片描述

0 0