Objective c 自定义UISplitViewController?

Objective c 自定义UISplitViewController?,objective-c,ipad,uiviewcontroller,uitableview,uisplitviewcontroller,Objective C,Ipad,Uiviewcontroller,Uitableview,Uisplitviewcontroller,我想要UISplitViewController的效果,但是我不使用分割视图模板 不使用模板是否相对容易实现?使用普通的UIViewController 我想要的是一个常规大小和定位的UITableView,然后它有一个常规大小的细节视图,当然,在肖像时它会进入一个popover和细节视图。从该模板中创建一个新的临时Xcode项目非常好,如果对您来说很复杂,您可以判断自己是否熟练掌握(真实的)代码。如果不使用Interface Builder,您将创建一个UIViewController类。在该

我想要UISplitViewController的效果,但是我不使用分割视图模板

不使用模板是否相对容易实现?使用普通的UIViewController


我想要的是一个常规大小和定位的UITableView,然后它有一个常规大小的细节视图,当然,在肖像时它会进入一个popover和细节视图。

从该模板中创建一个新的临时Xcode项目非常好,如果对您来说很复杂,您可以判断自己是否熟练掌握(真实的)代码。

如果不使用Interface Builder,您将创建一个UIViewController类。在该类的viewDidLoad方法中,创建一个UIView或UITableView,其中包含所需的帧原点和所需的大小。(在ViewDiUnload方法中释放它。)然后将UIViewController的self.view设置为指向此新视图

self.view = [[UIView alloc] initWithFrame:...];    // edit - added in response to your question
如果创建了UIView,则需要将UITableView放在此新视图中。(此方法允许您在需要时向容器UIView添加更多项。)

确保UIViewController遵守UITableViewDelegate和UITableViewDataSource协议。添加delegate和datasource方法,您就可以开始了

此新视图可以覆盖其他视图,也可以调整其他视图的大小以适合其旁边的视图。你只需要根据你想用它们做什么来设置这些框架


如果使用UITableViewController,会有一些限制,因此许多人建议改用UIViewController。就像我上面描述的。你可以在谷歌上搜索该主题的更多信息。

是的。你可以很容易地做到。只需使用代理在左侧和右侧视图(根视图和详图)之间传递消息。例如,didSelectRowAtIndexPath tableView方法可以与委托一起使用,将消息传递到右侧的详细视图。轻触左侧表格上的单元格,将其文本显示为右侧的标签。这只是一个简单的例子。是的,您可以处理旋转,并将左侧视图发送到UIPopoverController中,从而以纵向方向提供详细视图全屏不动产


也试试看。它在拆分视图控制器上为您提供了许多其他自定义选项。

“然后将UIViewController的self.view设置为指向此新视图。”以何种方式指向新视图?我相当肯定我理解你说的其他话,所以我只是按照模板中看到的代码,使用你提到的额外定制,我在那里,对吗?请参阅我原始回复中的编辑。这应该会有所帮助。如果你使用IB,我相信这是自动为你做的,如果你把一切都连接好的话。我更喜欢自己修改代码,这样我就可以看到代码中的所有钩子。