一、segue
1. 简介
@property (nullable,nonatomic, copy,readonly) NSString *identifier;
@property (nonatomic,readonly) __kindofUIViewController *sourceViewController;
3)目的 UIViewController
@property (nonatomic,readonly) __kindofUIViewController *destinationViewController;
2. segue 类型
3. 分类
在 storyboard 中,segue 分为 自动型 和 手动型
1)自动型
在 storyboard 中拖入两个 UIViewController 并设置 background 区分,向第一个 UIViewController 中拖入一个 UIButton,用于跳转第二个 UIViewController,如图
点击 UIButton 并按住 control 向第二个 UIViewController 拖动,出现如图的画面,并选择 Modal(模态转换)
之后,会在左侧的界面出现选中的 segue 类型
可以设置 segue 的 identifier 使其显示;一般在自动型的 segue 中是不必设置 identifier 的,需要在 手动型中设置,后面会有介绍
此时,点击 UIButton,就会跳到第二个 UIViewController 了
2)手动型
还是和前面的界面一样,拖入两个 UIViewController 并设置 background,向第一个 UIViewController 中拖入一个 UIButton
选择 第一个视图控制器 并按住 control 向第二个 UIViewController 连线,如图
并选中 Modal 类型
使用 手动型的 segue 必须要设置几个地方
1)设置 segue 的 identifier,例如 这里设置 “btnSegue”
2)向 UIButton 添加动作事件
- (IBAction)btnClick:(id)sender {
NSLog(@"%@", NSStringFromSelector(_cmd));
// 通过指定的 identifier 来选择实现跳转的 segue 对象,就是我们在 storyboard 中连线的那个 segue
[self performSegueWithIdentifier:@"btnSegue" sender:nil];
}
3)跳转之前会调用该方法
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
NSLog(@"%@", NSStringFromSelector(_cmd));
}
此时,运行程序点击按钮,就可以跳转到第二个 UIViewController ,并且在控制台输出以下信息