我收到警告"尝试显示其视图不在Windows层次结构中的ViewController。"来来去去。虽然一切都有计划,但我不喜欢警告,所以我想更好地了解从一个VC到另一个VC的所有可用方法。
我知道3种方法,如果我错了,请纠正我。
1-我在VC1中创建了一个带动作的按钮。我创建了一个从VC1到VC2的segue,其名称(此处为VC1ToVC2),在我的action方法中,我调用了segue:
[self performSegueWithIdentifier:@"VC1ToVC2" sender:self];
2-我在VC1中创建了一个按钮,我从这个按钮直接向VC2创建了一个Segue。
3-我在VC1中创建了一个带动作的按钮。我确保我的VC2有一个故事板名称,然后我写下我的行动:
UIViewController *svc = [self.storyboard instantiateViewControllerWithIdentifier: @"VC2"];
[self presentViewController:svc animated:YES completion:nil];
我的印象是,3的方式主要用于"去某个地方"然后"回来"
到同一个地方[self dismissViewControllerAnimated:YES completion: nil];
例如,当你提出帮助时。
way1和way2之间的区别是什么?我试过两个,他们都工作。
这三种方式中的一种更容易导致" Window层次结构......"消息?
如果没有我做任何事情,这样的信息怎么来来去去?这使得跟踪变得困难。
非常感谢任何帮助。感谢。
答案 0 :(得分:0)
差异:
1)Seque
binded
UIObject
perform custom triggering
需要performSegueWithIdentifier
然后triggers seque
使用Seque
。
2)UIButton
与triggering
绑定,因此done
为seque performed
和{{1}}。