StoryBoard初探(三):自定义Segue以及页面间传值

自定义Segue

StoryBoard三种连接中,有一种类型是Custom,开发者可以使用自定义的Segue,自定义Segue类需要继承类UIStoryBoardSegue,并重写perform方法:
- (void)perform
{
    NSLog(@"使用自定义连接");
    [self.sourceViewController presentViewController:self.destinationViewController animated:YES completion:nil];
}

Ctrl连线ViewController的按钮到ViewController2,并选择Segue类型为Custom,点击连接,并将连接的类别设置为刚刚自定义的PresentSegue。


运行效果和直接使用Modal类型连接效果一样:

当然也可以自定义Push类型的连接

页面传值

如果希望页面之间的内容有所关联,则需要实现页面间传值,在StoryBoard中,页面传值是通过prepareForSegue:sender:方法实现。先设置连接的Identifier为2vc2(可以根据自己的需要命名,保持跟代码中的字符串一致就OK)

拖拽一个UITextView实例到页面2上,并关联输出口recTextView



在ViewController.m中添加如下代码:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if ([[segue identifier] isEqualToString:@"2vc2"]) {
        ViewController2 *vc2 = (ViewController2 *)[segue destinationViewController];
        vc2.passText = @"使用prepareForSegue:sender进行页面传值";
    }
}
在ViewController2.m中把passText的值赋给recTextView.text
- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    _recTextView.text = _passText;
}

模拟器运行:





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值