(在故事板设计,下面的截图),我有我的RootViewController的认为两个子视图
在我的代码要分配一个独立的视图控制器到每个子视图。 即分配tableViewController到的TableView。
我试图做到这一点在awakeFromNib(或viewDidLoad中)的方法,但无济于事。 在我的tableview控制器的委托方法永远不会被调用。 我认为,故事板做甚至我给你可以做一些事情的tableviewcontroller这里之前加载子视图的工作。
self.myTableViewController = (TodoListViewController *)[[UITableViewController alloc] initWithStyle:UITableViewStylePlain];
self.myTableView.delegate = self.myTableViewController;
self.myTableView.dataSource = self.myTableViewController;
self.myTableViewController.tableView = self.myTableView;
我不知道这是否有在故事板视图这样还是我做错什么时候被允许?
我来到这个网站,因为我也有类似的问题。 其实我在做同样的事情:我有两个子视图(全部有很多约束的故事板定义的)一个视图控制器。
在viewDidLoad中的containerviewcontroller我做同样的电话,你做(但我首先定义的视图):
self.myTableViewController = (TodoListViewController *)[[UITableViewController alloc] initWithStyle:UITableViewStylePlain];
self.myTableViewController.tableView = self.myTableView;
self.myTableView.delegate = self.myTableViewController;
self.myTableView.dataSource = self.myTableViewController;
这对我的作品(我想,这里就是你的问题:你不必围绕它导航控制器....并确保你的tableview的出口是真正连接的脚本中。)。
但真正的问题是正确的接线后。 如果标签进入细胞,你可能想给一些CELLID的新思维。 正如您手动定义您的tableviewcontroller,只有你的委托方法didSelectRowAtIndexPath方法被调用,而不是prepareForSegue。
我已经打得四处从故事板实例化视图 - 控制
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"aStoryboard" bundle:nil];
self.myTableViewController = [storyboard instantiateViewControllerWithIdentifier:@"myTableViewID"];
但SEGUE没有被调用。 调用它直接(performSegueWithIdentifier:...),因为这tableviewcontroller不是由一个导航控制器管理没有工作。
对我来说,它结束了该prepareForSegue方法被调用,其中可以委托其subviewcontrollers呼叫的containerViewController。
编辑:其实真正的解决办法是没有。 存在能够被添加到一个视图,并限定一个视图控制器,其可以包括子视图控制器的区域中的“容器视图”对象。 这是我真正想做的事。
与你的viewDidLoad方法,这是最简单的答案再次尝试。 如果该方法没有加载你可能要考虑你的方法里面的其他东西,因为如果应用程序是大,因为他们经常使用的故事板,你可能有冲突的方法。
我也想看看这个: http://blog.waynehartman.com/archive/2012/01/07/uistoryboard-on-ios-5-the-good-the-bad-and-the.aspx
它显示了最常见的事故人使用任何编程功能故事板制作时
希望帮助!
听起来像是你想自己写一个自定义的容器控制器,例如,类似于UISplitViewController。 下面是关于在做这个苹果的简短文档UIViewController类引用 。 例如,您可以通过编程实例孩子控制器放到你的货柜控制器的viewDidLoad:
或viewWillAppear:
方法。 我不认为你可以得到IB实例的孩子你,不过,你可以线上来就说一个标签栏或导航控制器对自己的孩子的关系一样。 (如果有一种方法,我想知道!)
这是最简单的通常设置你的类和代表都在故事板(如图众多totorials包括这一个 )。
如果你真的试图把滚动视图和表格视图到相同的观点,那么你需要考虑UIViewController instantiateViewControllerWithIdentifier:
你可以合理轻松地将多个视图控制器(最好用自己正确的类,委托和来源设置在故事板)在和他们的意见添加到您的外包裹视图。 我会说,我已经做到了这一点,你可以很容易地合理做很酷的事情,但它通常是不做事最彻底的方法。