如何手动创建 UISplitView?

2024-01-07

我有一个应用程序将导航到 UISplitView (完全在另一个视图内),如下所示:

- (void) switchToMyDayView {
    NSLog(@"Show My Day Screen");

    if (self.myDayController.view.superview == nil) {
        if (self.myDayController == nil) {
            MyDayController *myController = [[MyDayController alloc] initWithNibName:@"MyDay" bundle:nil];
            self.myDayController = myController;
            [myController release];
        }

        [homeScreenController.view removeFromSuperview];
        [self.view insertSubview:self.myDayController.view atIndex:0];
    }
}

这是在主导航屏幕上完成的

现在,MyDayController 有一个名为 MyDay.xib 的 XIB,其中包含以下项目:

文件所有者:MyDayController

第一响应者:UIResponder

分屏视图控制器

 ---->Navigation Controller

         ---->Navigation Bar

         ----> Table View Controller

                 ----> Navigation Item

 ---->View Controller

所以,我在这里需要更多组件,我需要 UITableViewController 和 UISplitViewControllerDelegate 对吗?

我打算在 MyDayController 中实现这些协议,这是标准吗?

所以,在上面的代码之后,我得到一个错误:

-[UIViewController _loadViewFromNibNamed:bundle:] 加载了“MyDay”笔尖,但未设置视图出口。

那么,如何使用 UISplitViewController 修复它?我知道 UISplitViewController 有一个 view 属性,但我无法在 IB 中使用它/连接它,可以吗?

多谢

Mark


您不必继承 UISplitViewController 的子类。您的“MyDayController”类中有什么行为? UISplitViewController 基本上只是为您处理主视图和详细视图的布局,因此您的责任是实现这些控制器。

如果分割视图位于应用程序的顶层,您可以将其添加到应用程序的主窗口笔尖。如果不是,只需以编程方式创建它:

- (void) switchToMyDayView {
    NSLog(@"Show My Day Screen");

    if (self.myDayController == nil) {
        YourMasterViewController *masterViewController = [[YourMasterViewController alloc] initWithNibName:@"MasterView" bundle:nil];
        YourDetailViewController *detailViewController = [[YourDetailViewController alloc] initWithNibName:@"DetailView" bundle:nil];
        UISplitViewController *myController = [[UISplitViewController alloc] init;
        myController.viewControllers = [NSArray arrayWithObjects:masterViewController, detailViewController, nil];
        [masterViewController release];
        [detailViewController release];

        self.myDayController = myController;
        [myController release];         
    }

    [homeScreenController.view removeFromSuperview];
    [self.view insertSubview:self.myDayController.view atIndex:0];
}

您也不需要进行测试self.myDayController.view.superview == nil因为它隐含在self.myDayController == nil

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何手动创建 UISplitView? 的相关文章

  • Segue Unwind 返回到最后一个特定的视图控制器

    有没有一种方法可以让一个按钮展开回特定的视图控制器 例如 假设我有 ViewController A 和 B 两者都模态地转至 ViewController C 现在我了解如何转回之前的视图控制器之一 正如这里所解释的 https stac
  • 举例说明为什么不建议将图像存储在 CoreData 中?

    这个问题已经被问过很多次了 我读到很多用户都说不建议将图像存储在数据库中 特别是在 CoreData 中 他们似乎都忽略了他们这样做的原因 甚至苹果文档也声明了这一点 每个人都指向那个方向 每次讨论都以这样的方式结束 好吧 你可以 但存储路
  • 核心数据和 BOOL 设置

    我正在开发一个使用 Core Data 作为后端来管理 SQLite 记录的应用程序 我可以使用字符串和数字进行所有操作 但刚刚尝试添加 BOOL 字段 但似乎无法正常工作 在 xcdatamodel 中 我向我的对象添加了一个名为isCu
  • UITableView/UITableViewCell 点击事件响应?

    我一直在谷歌搜索 试图弄清楚当点击 UITableView 中的一行 或单元格 时会调用什么类型的事件句柄 但一直无法弄清楚 我试图在点击单元格时更改其图像属性 Thanks 点击表行时有两个可能的事件 选择该行和附件视图 通常是 更多详细
  • iOS 键盘颜色变化 - 键盘外观深色不粘

    在我们的应用程序中 我们将键盘外观设置为深色 正如预期的那样 这会产生一个黑色键盘 但是 如果显示键盘 并且我们按主页按钮 然后返回应用程序 键盘会变成白色 如图所示 有什么想法吗 这可能与键盘是全局对象这一事实有关 在任何给定时间 内存中
  • UIDatePicker 仅显示月份和日期

    我想要一个UIDatePicker用户可以选择月份和日期 但不能选择年份 我知道闰年有额外的一天 所以为了简单起见 让我们把这一天扔掉 有没有办法删除年份列或有 2 个带有月 日的卷轴 其作用类似于UIDatePicker 所选月份中不存在
  • 如何在 Objective-C 中编写 lambda 方法?

    如何在 Objective C 中编写 lambda 方法 Objective C 中 lambda 的概念现在封装为Blocks http developer apple com mac library documentation Coc
  • .m 文件中的空 @interface 声明有何用途?

    我启动了一个新的 iOS 5 项目 并注意到每个 m 文件顶部都有一些新内容 import HomeViewController h interface HomeViewController end implementation HomeV
  • 具有 URL 样式格式的 NSTextField

    我一直在尝试让 NSTextField 识别 URL 并且一般来说我的代码可以工作 我按照苹果的说明进行操作这一页 http developer apple com library mac qa qa1487 关于如何使用 hyperlin
  • UISearchBar 与 UISearchDisplayController 在屏幕外动画

    我有标准的 iPad 视图控制器 其顶部有一个自定义导航栏 在 xib 文件中 我添加了一个与视图右边缘对齐的 UISearchBar 搜索栏的宽度为 320 像素 我像这样初始化一个搜索显示控制器 Search display contr
  • iOS 中tableview 的动态搜索

    I ve a tableview和我实现搜索方法的文本字段 现在 当我在其中写入一些值时textfield然后点击搜索按钮 然后在tableview 但是 我希望它是动态的 意味着我开始输入的那一刻textfield它应该开始搜索而不点击任
  • 从一个 NSManagedObjectContext 保存的更改不会反映在主 NSManagedObjectContext 上

    我有一个主NSManagedObjectContext是在appDelegate 现在 我正在使用另一个NSManagedObjectContext用于编辑 添加新对象而不影响主对象NSManagedObjectContext 直到我拯救它
  • UITableView 中的 moveRowAtIndexPath 导致动画不正确

    我有一个简单的 UITableView 控制器 显示 CoreData 我正在尝试实现 void tableView UITableView tableView moveRowAtIndexPath NSIndexPath fromInde
  • NSString 到 Double 问题

    可能很简单 但我不明白 我有一个 NSString50 81114我想把它转换成双 目前我正在使用 string doubleValue 但这是作为50 811140000002这是怎么回事 Disco 由于精度有限double无法存储50
  • Swift NSAttributedString 修剪

    我想摆脱 NSAttributedString 前面和末尾的空白 修剪它 我不能简单地将其转换为字符串并进行修剪 因为其中有图像 附件 我该怎么做 创建扩展NSAttributedString如下 extension NSAttribute
  • 如何通过 HTTP POST 发送充满对象的 NSArray?

    我在 iPhone 端有一个产品 购物清单 由具有名称 product id 等的产品对象组成 我希望将此列表发送到服务器 在那里我将服务器上的列表与 iphone 中的列表进行比较 以合并所做的更改并将合并的列表发送回 iphone 如何
  • NSComboBox:如何告诉用户输入了不在弹出列表中的信息并读取它

    我有一个 NSComboBox 它有一个符合 NSComboBox 数据源和委托的单独类 如果用户在组合框中键入的文本与弹出列表中的一项不匹配 我如何收到用户已键入内容的通知并读取用户键入的值 目前我正在实现委托方法 void comboB
  • 清除绘图的UIView?

    我正在使用 UIView 的子类来绘制 这个子类视图用于在视图控制器上获取您的签名 有一个清除按钮应该可以清除 UIView 但它不起作用 这是我尝试过的 子类 h implementation subclassed uiview UIBe
  • NSPersistentStoreCoordinator 线程安全吗?

    我正在开发一个使用 Core Data 的 iPhone 应用程序 该应用程序调用 Web 服务 解析生成的 XML 文件 然后在我的应用程序中创建或修改 Core Data 对象 我已经处理了 Web 服务调用并异步解析 但我一直将解析后
  • ASIHTTP:上传 UIImage?

    有人可以告诉我如何在 Objective c 中使用 ASIHTTPRequest 对象上传 UIImage 对象吗 我需要将其转换为 NSData 对象吗 这是头像上传网址 E g UIImage toUpload UIImage ima

随机推荐

  • 在 R 中,如何将带有 ID 的时间戳间隔数据拆分和聚合到常规槽中?

    我正在研究数据聚合的下一步上一个问题 https stackoverflow com questions 54000814 in r how do i split timestamp interval data into regular s
  • 如何将 Onnx 模型 (.onnx) 转换为 Tensorflow (.pb) 模型

    我正在尝试将 onnx 模型转换为 pb 模型 我已经编写了代码 但出现错误 tf func tf ceil AttributeError 模块 tensorflow 没有属性 ceil Code import onnx from tens
  • Google Recaptcha 的内容安全策略标头指令

    内容安全政策 https content security policy com 标头指令谷歌验证码 https developers google com recaptcha docs faq im using content secur
  • 鉴于 b 始终非零,为什么 `b ? --b : ++b` 有效,但 `--b` 无效?

    我试图使用递归将两个整数相乘 并意外地编 写了这段代码 the original version int multiply int a int b if b return 0 else return a multiply a b b b a
  • 逻辑与按位运算符 AND

    我不明白之间的区别 and and 即使我读了一些其他有关它的问题 我的代码是 f 1 x 1 f 1 x 1 Out 60 True f 1 and x 1 Out 61 True f 1 x 2 f 1 and x 2 Out 64 T
  • Mac 上 Webkit 中手势的 Javascript 事件?

    是否可以使用 Javascript 在 Mac 桌面上的 Webkit 上获取手势事件 例如 3 指向后滑动 我用谷歌搜索了几次 但没有找到任何东西 否则 我想我可以将它们从 Cocoa 传递到 WebView 我对三指滑动返回特别感兴趣
  • 使用 scilab 查找交点

    如何使用以下方法找到下图中的交点fsolve功能 from scilab 这是我到目前为止所尝试过的 function y f x y 30 0 x endfunction function y g x y zeros x k1 find
  • 为什么 Fluent NHibernate AutoMappings 在 Id 上添加下划线(例如 Entity_id)?

    您好 使用流畅的 nhibernate 自动映射 来映射这个 public virtual int Id get set snip public virtual MapMarkerIcon MapMarkerIcon get set to
  • 从 github repo 子文件夹中 npm 安装包

    当包位于子文件夹内时 是否可以从 github 安装 npm 包 例如 我们有 Microsoft BotBuilder 存储库 https github com Microsoft BotBuilder https github com
  • Angular2 完全销毁当前组件

    我尝试搜索 google 和 stackoverflow 但找不到答案 所以我的问题很简单 如何删除角度 2 4 中的当前组件 example div Remove Current Component div remove event th
  • GoogleMap InfoWindow 内的单击事件

    我想在信息窗口和信息窗口内的按钮中显示谷歌地图位置详细信息 以便单击该按钮后 将显示一个新的 QMainwindow 此时我只能显示带有关闭按钮的默认信息窗口 是否可以在信息窗口内添加可点击事件 您可以将 InfoWindow 的内容设置为
  • 在 IMAP 中创建文件夹不起作用

    我正在努力在 IMAP 中创建一个文件夹 我正在使用 gmail 到目前为止 这是我尝试过的 public boolean createFolder String folderName throws MessagingException s
  • 声明式与编程式 GraphQL

    我正在将 GraphQL 用于新的全栈项目 并且我已经研究了许多概念并开始了我的第一个项目 我的问题与使用声明式与编程式 GraphQL 架构定义有关 基本上我能看到的都在GraphQL 官方网站 http graphql org 使用声明
  • 使用 Interface Builder 检测 UIView 上的触摸

    如何检测触摸UIviewController for a UIView仅使用代码 没有 Interface Builder 我找到了 TouchBegan 方法 但它从未被调用过 我没有初始化有关此方法的任何其他内容 void touche
  • 是否可以在不登录的情况下冒充用户?

    是否可以在不提供用户名 密码的情况下模拟用户 基本上 我想得到CSIDL LOCAL APPDATA对于使用以下命令的用户 不是当前用户 ShGetFolderPath 功能 我目前拥有的只是该用户的 SID 您可以通过调用 ZwCreat
  • Nodejs - HTTP 范围支持/部分文件下载

    我正在创建一个音乐网络应用程序 用于流式传输我存储在 MongoDB GridFS 中的 MP3 我的问题 如何添加 http 范围支持 以便我可以开始流式传输音频文件 1 2 而无需等待缓冲区 我知道GridFS支持读取X字节 X字节 所
  • 为什么选择 UnityEvent 而不是本机 C# 事件?

    我的意思是 UnityEvents 比原生 C 事件慢 并且它们仍然存储对接收器的强引用 因此 我发现使用 UnityEvents 而不是原生 C 事件的唯一有效原因是它们与编辑器的集成 我是否忽略了什么 我是否忽略了什么 不 你没有忽视任
  • Java - 将二进制解析为长整数[重复]

    这个问题在这里已经有答案了 我有一个数字的二进制表示形式 想将其转换为 long 我有 Java 8 public class TestLongs public static void main String args String a L
  • Android WebView 下载不工作

    我创建了一个包含 html 表单页面的 Web 视图 在提交表单 使用 post 方法 时 它应该下载该文件 我已经实施了webview download listener这样我就可以处理下载了 Override public void o
  • 如何手动创建 UISplitView?

    我有一个应用程序将导航到 UISplitView 完全在另一个视图内 如下所示 void switchToMyDayView NSLog Show My Day Screen if self myDayController view sup