替换SplitViewController中的TableView

时间:2012-01-22 23:04:55

标签: objective-c ios ipad uitableview uisplitviewcontroller

我希望替换UITableView的MasterViewController部分中的UISplitViewController。而不是UITableView,我只想要一个视图,以便我可以在其中放置UIButtonsUILables等。然后,这些按钮将控制SplitView的DetailView部分中显示的内容。

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

以下是我采取的步骤:

  • 创建了一个新项目并选择了“Master-Detail Application”
  • 取消选中“使用故事板”,这样我就可以获取xib文件。
  • 打开“MasterViewController.xib”
  • 删除了“对象”
  • 下的“表格视图”
  • 将“View Controller”添加到“Objects”
  • 将“@interface MasterViewController:UITableViewController”更改为“MasterViewController.h”中的“@interface MasterViewController:UIViewController”
  • 在“MasterViewController.m”下注释掉了导致问题的任何内容,因为它们引用了TableView的属性,而不再存在。

然后我收到此错误: - [UIViewController _loadViewFromNibNamed:bundle:]加载了“MasterViewController”笔尖,但未设置视图插座。“

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

否则,如果我犯了这个错误,有人会指出我正确的方向吗?

谢谢!

1 个答案:

答案 0 :(得分:6)

现在,在最新的Xcode中使用故事板,这就是我所做的......

  1. 创建一个新的Master-Detail项目,并允许使用storyboard
  2. 打开MainStoryboard_iPad.storyboard
  3. 单击TableViewController然后将其删除
  4. 拖入新的普通ViewController
  5. 从主视图控制器的导航控制器按住Ctrl键单击并拖动到新的ViewController
  6. 删除MasterViewController.h / .m文件,并创建一个新类,它是UIViewController的子类
  7. 获取刚刚创建的替换类的名称,并将其放在身份检查器的“自定义类”部分的“类名”中
  8. 现在,添加按钮并以您希望的方式连接。如果你坚持在细节部分使用单个视图控制器,你应该能够直接引用detailViewController并根据需要填充它;对于倍数,你可以使用替换segues。

    对于iPhone,步骤将类似。您必须从导航控制器按住Ctrl键单击并拖动到新的ViewController,并以相同的方式设置替换的ViewController.h / .m文件。你的按钮中的segue将是push segues,或者你可以简单地调用performSegueWithIdentifier:sender :.