我正在寻找替换UITableView的MasterViewController部分中的UISplitViewController。除了UITableView,我只需要一个View,以便可以在其中放置UIButtonsUILables等。然后,这些按钮将控制SplitView的DetailView部分中显示的内容。

我在另一个地方问了这个问题,有人建议我创建UISplitViewController的子类。除了保留DetailViewController.h,.m和.xib并按照我的喜好编辑MasterViewController.h,.m和.xib之外,此人没有给出太多指导。

这是我已采取的步骤:

  • 创建一个新项目并选择“主从应用程序”
  • 取消选中“使用情节提要”,以便可以获取xib文件。
  • 打开“MasterViewController.xib”
  • 删除“对象”下的“表视图”
  • 在“对象”中添加了“视图控制器”
  • 在“MasterViewController.h”中将“@interface MasterViewController:UITableViewController”更改为“@interface MasterViewController:UIViewController”
  • 注释掉“MasterViewController.m”下引起问题的所有内容,因为它们引用了TableView的属性,而该属性不再存在。

  • 然后我得到这个错误:-[UIViewController _loadViewFromNibNamed:bundle:]加载了“MasterViewController”笔尖,但未设置视图出口。

    我在正确的轨道上吗?如果我是,有人可以帮助我解决我遇到的错误吗?

    否则,如果我错了,有人可以指出我正确的方向吗?

    谢谢!

    最佳答案

    现在,有了最新Xcode中的情节提要,这就是我所做的……

  • 创建一个新的Master-Detail项目,并允许情节提要
  • 打开MainStoryboard_iPad.storyboard
  • 单击TableViewController,然后将其删除
  • 拖入新的普通ViewController
  • ctrl-click-从作为主视图控制器的导航控制器拖动到新的ViewController
  • 删除MasterViewController.h / .m文件,并创建一个新类,该类是UIViewController的子类
  • 使用您刚创建的替换类的名称,并将其放在身份检查器
  • 的“自定义类”部分的“类名”中

    现在,添加按钮并按照您想要的方式进行接线。如果您在细节部分坚持使用单个视图控制器,则应该能够直接直接引用detailViewController并根据需要填充它;对于倍数,您可能可以使用replace segues。

    对于iPhone,步骤将相似。您必须ctrl-click-drag从导航控制器到新的ViewController,并以相同的方式设置替换的ViewController.h / .m文件。按钮中的按钮将是推送按钮,或者您可以简单地调用performSegueWithIdentifier:sender:。

    关于objective-c - 在SplitViewController中替换TableView,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8965531/

    10-10 20:49