故事板VS xib的使用概念

时间:2013-08-21 16:36:37

标签: iphone ios uiviewcontroller storyboard

我有一个自定义UIViewController类,我想在按下UITableViewCell时显示,所以当按下某个特定单元格时,我会收到一个回调。

我的项目是一个基于导航的应用程序,我创建了ViewController我要在StoryBoard中显示但它没有连接到它的segue因为它应该从动态调用UITableViewCell 1}}。

ViewController也设置为Subclassing它的类。

所以现在我正尝试做类似的事情:

[self.navigationController pushViewController:[[AddAccountsViewController alloc]init] animated:YES];

它确实推,但我看到的只是黑屏。使用XIB我可以单独创建它,但后来我失去了我不想要的4英寸屏幕自动调整行为。

我该怎样管理这个?

3 个答案:

答案 0 :(得分:2)

好的,你可以这两种方式。

第一种方式是你正在做的事情,但是你做得不对......

选项1

在storyboard属性窗格中。选择AddAccountsViewController并将故事板标识符设置为“AddAccountsViewController”;

AddAccountsViewController *controller = [self.storyBoard instantiateViewControllerWithIdentifier:@"AddAccountsViewController"];

[self.navigationController pushViewController:controller animated:YES];

选项2

这是最简单的选择。

在主视图控制器和AddAccountsViewController之间的故事板中创建一个segue。 CTRL从主控制器的黄色圆圈拖动。

给segue一个像“AddAccountSegue”这样的标识符。

然后在代码中......

[self performSegueWithIdentifier:@"AddAccountSegue" sender:nil];

注意

还有其他方法可以做到这一点,但这两个方面最容易解释。

答案 1 :(得分:1)

在动态创建的tableview单元格的故事板中是否有原型?

如果是这样,您可以从单元格原型中按住Ctrl键拖动到目标视图控制器以创建一个segue。

答案 2 :(得分:1)

你可以按住Ctrl + Drag来实现从目的地到源视图控制器的segue。然后在你.m文件中选择tableViewCell后,你可以编写这行代码来定义segue:

[self performSegueWithIdentifier:@"source" sender:nil];

祝你好运!! enter image description here