zoukankan      html  css  js  c++  java
  • 分割视图控制器(UISplitViewController)

    这种控制器只能用于iPad,它可以在iPad屏幕中显示两个不同的场景:在横向模式下,左边显示一个表,供用户选择;用户选择表中的元素后,详细视图将显示该元素的详细信息。如果iPad被旋转到纵向模式,表将消失,而详细视图将填满整个屏幕;要进行导航,用户可触摸一个工具栏按钮,这将显示一个包含表的弹出框。

    默认情况下,UISplitViewController的一端连接到一个受导航控制器(UINavigationController)管理的表视图(UITableViewController),这代表主场景;另一端连接到一个普通视图控制器(UIViewController),这代表详细场景。

    可以将主场景和详细场景替换为新的控制器,只需要删除默认的控制器,然后按住Control键,并从分割视图控制器对象拖曳到新的主场景或详细场景,再在Xcode提示时选择Relationship - masterViewController或Relationship - detailViewController。

    主场景和详细场景可以通过分割视图控制器互相访问,属性splitViewController包含一个名为viewControllers的数组。通过使用NSArray的方法lastObject,可获取该数组的最后一个元素(详细信息视图)。通过调用方法objectAtIndex,并将索引0传递给它,可获取该数组的第一个元素(主视图)。这样,两个视图控制器就可交换信息了。

    主视图控制器可使用如下代码获取详细视图控制器:

    [self.splitViewController.viewControllers lastObject]

    而详细视图控制器可使用如下代码获取主视图控制器:

    [self.splitViewController.viewControllers objectAtIndex:0]

    P.s: 在竖屏下要显示(包含表的弹出框)工具栏按钮,需要一些代码修改,留待有时间回头研究。搜索"UISplitViewController"关键字可以得到一些示例页面。

  • 相关阅读:
    支付平台架构
    进程、线程与协程
    WSGI
    TLS(SSL)
    Python logger
    Jedis操作Redis--Hash类型
    Jedis操作Redis--List类型
    Jedis操作Redis--String类型
    SpringMVC整合Apache Shiro
    JDK中的Proxy技术实现AOP功能
  • 原文地址:https://www.cnblogs.com/CoderWayne/p/3596814.html
Copyright © 2011-2022 走看看