我开发的iPad应用,我需要创建一个UIView
,就是始终在顶部对于其他意见。UIView的侧边栏总在最前面
A为面积(认为它作为一种工具条),我需要建立一个UIViewController
其观点始终保持在最前面。 B代替UIViewController
(以其视图)可以改变的内容区域:取决于几个按钮操作(在A的视图内),可以移除当前可见内容(在这种情况下为控制器B及其视图)并显示其他控制器(C,D,E等)和他们的观点。
我创造了我的应用程序的所有元素,但我有问题,维持A的上俯视图,并在同一时间,实现用于dinamcally更改内容区域的逻辑。作为要求,我需要A始终与B重叠。换句话说,B(左侧部分)的一部分总是在A的区域下.B总是延伸整个设备屏幕。
你能给我一些建议吗?
我做了两个配置,但我遇到了问题。
第一配置
在第一个,我创建对于A的UIViewController
(称为SideBarController
)。我添加了SideBarController
查看到UIWindow
(在应用程序委托内)。然后,我为B创建了一个UIViewController
(称为HomeViewController
),并将其添加为我的应用程序的rootViewController
。
这种解决方案可能是一个有效的,因为我可以通过我的应用程序委托dinamically更改内容区域(设置新的rootViewController
),但SideBarController
当前visble视图下始终保持。
其次配置
在第二个,我创建了一个UIViewController
(称为MainViewController
),我增加一条,作为一个rootViewController
我的应用程序。然后内MainViewController
我创建对于A的UIViewController
(称为SideBarController
)和I加入SideBarController
视图MainViewController
。然后填充内容区域,为B创建一个UIViewController
(称为HomeViewController
)并将其添加到MainViewController
。
侧边栏始终保持在最前面,但我有困难的内MainViewController
动态改变内容区域。如何访问内容区域并更改它?
注意我知道关于UIKit上的标准组件,但我需要实现这样的解决方案,因为用户规范。
谢谢您的答复。你能否给我提供第二种解决方案的建议?如何将侧边栏放入另一个“UIWindow”?我认为第一个可能很复杂。谢谢。 – 2012-01-11 14:04:32
谢谢。我不知道如何遵循。也许'UIPopoverController'可能是正确的。在我看来,这个问题可能是不可能定制这个控制器的外观。例如,在iOS 4中,无法自定义边框。我不知道iOS 5定制是否发生了变化。您是否有任何代码可以分享您过去使用的解决方案?谢谢。 – 2012-01-11 19:04:34
你是对的。我在谈论的部分是在iOS 5('popoverBackgroundViewClass')中添加的。这给你留下了一个附加到顶层的窗口或视图。我会在'[[[view window] rootViewController]视图]中添加一个'UIView',看看它是否适合你。如果不是,直接将它添加到'[查看窗口]'。 – 2012-01-11 20:26:19