UIPageViewController 的视图框架在 iOS 上是不可预测的
Posted
技术标签:
【中文标题】UIPageViewController 的视图框架在 iOS 上是不可预测的【英文标题】:UIPageViewController's frame of the view is unpredictable on iOS 【发布时间】:2017-02-01 12:00:20 【问题描述】:我正在尝试分配 UIPageController 的子视图的框架。 我在故事板上创建了一个视图,分配了一个约束,做了一个出口。但是在应用程序中它的行为很奇怪。
self.pageviewcontroller.view.frame = self.viewForPageContent.frame
self.addChildViewController(pageviewcontroller)
self.view.addSubview(pageviewcontroller.view)
self.pageviewcontroller.didMove(toParentViewController: self)
红色矩形是viewForPageContent:
结果如下,在我的 iphone 5s 上它变得非常奇怪:
///但在 7 模拟器上它给出了正确放置的视图,但带有点。可能是什么问题?
【问题讨论】:
【参考方案1】:最终我没有找到合适的解决方案,但我的解决方法是以下代码和平,以防其他人遇到问题:
self.pageviewcontroller.view.frame =
CGRect(x: 0,
y: UIApplication.shared.statusBarFrame.height
+ (self.navigationController?.navigationBar.frame.height)!
width: self.view.frame.size.width,
height: self.view.frame.size.height
- (self.navigationController?.toolbar.frame.height)!
- (self.tabBarController?.tabBar.frame.height)! )
【讨论】:
以上是关于UIPageViewController 的视图框架在 iOS 上是不可预测的的主要内容,如果未能解决你的问题,请参考以下文章
UIPageViewController 带有最后一个视图,没有页面指示器
UIPageViewController 与滚动视图奇数插入反弹
容器视图内的 UIPageViewController 内的堆栈视图的自动布局?
滑动后调整超级视图大小时,UIPageViewController 视图会跳转