使用MGSplitViewController,如何更改详细视图控制器? 有一个属性声明:
@property (nonatomic, retain) IBOutlet UIViewController *detailViewController; // convenience.
做splitVC.detailViewController = myVC;
没有效果。相反,我必须做splitVC.viewControllers = @[masterVC, myVC];
。
它有效,但这是正确的方法吗?
谢谢!
答案 0 :(得分:2)
你做得对。来自UISplitViewController参考:
拆分视图控制器没有自己的重要界面。它的 工作是管理其两个子视图控制器的表示 和不同方向之间的过渡。
也:
您必须将两个视图控制器分配给拆分视图控制器。 通常在故事板中配置这些视图控制器;如果你 以编程方式创建拆分视图控制器,使用它来分配它们 viewControllers属性。
答案 1 :(得分:1)
使用MGSplitViewController时,设置detailViewController
而不重置所有内容(效率非常低)的方法是设置detailViewController
,然后调用layoutSubviews
splitViewController.detailViewController = myVC;
[splitViewController layoutSubviews];
这避免了删除主视图控制器视图然后重置它的浪费开销。
希望这有帮助!
答案 2 :(得分:-3)
不,这不是正确的方法,而是在navigationcontroller中分配你的主视图和细节视图控制器
UINavigationController *nav1 = [UINavigationController alloc]initwithrootviewcontroller:masterviewcontroller];
同样nav2的详细信息。然后写
splitViewController = [[UISplitViewController alloc] init];
splitViewController.viewControllers = [NSArray arrayWithObjects:nav1,nav2, nil];
splitViewController.delegate = detailViewController;
多数民众赞成。 希望有所帮助。