objective-c - 替换 SplitViewController 中的 TableView

标签 objective-c ios ipad uitableview uisplitviewcontroller

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

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

以下是我采取的步骤:

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

然后我收到此错误:-[UIViewController _loadViewFromNibNamed:bundle:] 加载了“MasterViewController” Nib ,但未设置 View 导出。”

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

否则,如果我做错了,有人能给我指出正确的方向吗?

谢谢!

最佳答案

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

  1. 创建一个新的 Master-Detail 项目,并允许 Storyboard
  2. 打开 MainStoryboard_iPad.storyboard
  3. 点击 TableViewController 然后删除它
  4. 拖入一个新的普通 ViewController
  5. 按住 Ctrl 键并单击并从作为主视图 Controller 的导航 Controller 拖动到新的 ViewController
  6. 删除 MasterViewController.h/.m 文件,并创建一个新类,它是 UIViewController 的子类
  7. 将刚刚创建的替换类的名称放入身份检查器的自定义类部分的类名中

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

对于 iPhone,步骤类似。您必须按住 Ctrl 并单击从导航 Controller 拖动到新的 ViewController 并以相同的方式设置替换 ViewController.h/.m 文件。来自按钮的转场将是推送转场,或者您可以简单地调用 performSegueWithIdentifier:sender: 。

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

相关文章:

ios - 点击按钮时分层

iOS - 无法调用非函数类型的值 'NSProgress'

iphone - 在 iOS 7 中打开 popviewcontroller 时出错

iphone - UIView:如何确定一个 View 是否已经存在?

objective-c - 基于单元格的 NSTableView 和基于 View 的 NSTableView 有什么区别?

ios - 向 CAlayer 添加带消失点投影的扭曲

iphone - 多个TableView的标题中的标题

iPad Safari 移动版似乎忽略了 html5 视频元素的 z 索引位置

ios - iOS 上的 AES128 加密无需加载整个 NSData

ios - UICollectionView 一秒钟以错误的顺序加载图像