【发布时间】:2016-02-26 05:33:15
【问题描述】:
我正在向嵌入在 UINavigationController 内的 UIPageViewController 添加自定义视图,因此我需要从 UIPageViewController 容器内的每个子视图的顶部添加 20.0 的填充,以便它们整齐地坐在下面导航栏。
我目前正在使用 UIView 的layoutMargins 属性,在视图加载到内存之前设置新的边缘插入,这是我创建新视图的辅助方法:
private func instanciateViewController(pageType: ViewType) -> UIViewController? {
var pageView : UIViewController?
switch(pageType)
{
case .SHOP :
pageView = storyboard!.instantiateViewControllerWithIdentifier("ShopFloorViewController")
break
case .TASKS :
pageView = storyboard!.instantiateViewControllerWithIdentifier("TaskListTableViewController")
break
case .PERSONNEL :
pageView = storyboard!.instantiateViewControllerWithIdentifier("PersonnelListViewController")
break
}
pageView!.view.layoutMargins = UIEdgeInsetsMake(20, 0, 0, 0)
return pageView
}
行:pageView!.view.layoutMargins = UIEdgeInsetsMake(50, 0, 0, 0) 为加载的第一个屏幕提供了正确的插图,但是场景中的任何交互都会导致视图重新渲染而没有插图。
如何使 UIPageViewController 中子视图上的插图永久化?
【问题讨论】: