加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ios – 如何在xcode 4.2故事板中正确使用模态视图控制器

发布时间:2020-12-14 19:43:02 所属栏目:百科 来源:网络整理
导读:我想知道如何正确使用故事板以模态方式设置视图控制器.就个人而言,我更喜欢使用xibs,但似乎故事板越来越受欢迎,并将成为未来的发展方向. 我通常以模态方式设置视图控制器的方式如下:假设我们有ViewControllerA(简称A)和ViewControllerB(简称B). 然后我通常
我想知道如何正确使用故事板以模态方式设置视图控制器.就个人而言,我更喜欢使用xibs,但似乎故事板越来越受欢迎,并将成为未来的发展方向.

我通常以模态方式设置视图控制器的方式如下:假设我们有ViewControllerA(简称A)和ViewControllerB(简称B).
然后我通常会在B.h中设置一个协议,在B想要被解雇时指定委托方法并添加id< theProtocol>委托字段作为分配属性.假设我在A忙,我想以模态方式呈现B,我会写:

B* b = [[B alloc] initWithNibName:@"B" bundle:nil];
b.delegate = self;
[self presentModalViewController:B animated:YES];

使用故事板,我知道可以通过按住Ctrl键从按钮拖动到视图控制器并选择模态作为转换类型,以模态方式设置不同的视图控制器.我只是想知道;我在哪里设置新视图控制器的委托?将事物传递给模态视图控制器的正确做法是什么?我真的不知道Segues的整个交易是什么……

解决方法

看看 this tutorial

根据它,您应该如下设置委托:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if ([segue.identifier isEqualToString:@"AddPlayer"])
    {
        UINavigationController *navigationController = 
          segue.destinationViewController;
        PlayerDetailsViewController 
          *playerDetailsViewController = 
            [[navigationController viewControllers] 
              objectAtIndex:0];
        playerDetailsViewController.delegate = self;
    }
}

其中@“AddPlayer”是“模态”segue的名称

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读