gpt4 book ai didi

objective-c - 将 UITableViewController 添加到其他 View

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:31:20 24 4
gpt4 key购买 nike

是否可以通过编程方式将 UITableViewController 嵌入(添加为 subview )到另一个 View Controller 中?我在 StackOverflow 上找到了一些答案,但没有一个适用于 ARC 和 iOS6 SDK。

我知道您可以使用 Navigation 和 TabBar Controller 轻松地做到这一点,但我对将 TableView 添加到常规 View Controller 更好奇。我需要我的 tableview 占据可用屏幕空间的下半部分(我需要其余部分用于其他目的,标签和导航类型都不适合)。

然而,当我尝试这样做时,它不起作用。我实例化了一个子类化的 UITableViewController,但是当我将它作为 subview 添加到我的 self.view 时,编译器说我试图使用“不兼容的指针类型”。不仅如此,我实例化的 UITableViewController 没有 .frame 属性,所以我无法设置它的尺寸,这将是本练习的重点。

最佳答案

基于食人魔的回答,您应该将 tableViewController 的 View 添加为 subview ,但这不是全部。 tableViewController 是一个 viewController,它需要知道它的父级和它的子级,才能正确地执行它的 viewController-job。我不知道这里的任何细节,但是在 WWDC 2011 上有一个完整的讨论,叫做 "Implementing UIViewController Containment" .

我在仅将 View 添加为 subview 时遇到的一个问题是目标操作似乎不起作用。点击 UIButton 或类似内容会导致 EXC_BAD_ACCESS无法识别的选择器发送到实例

所以我建议你这样做:

UIViewController *vc = //Your tableViewController
[self addChildViewController:vc]; //Important
[self.view addSubview:vc.view];

//If you want to set the frame, set the frame of the tableViewController's view
vc.view.frame = ...

关于objective-c - 将 UITableViewController 添加到其他 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14032835/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com