首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >iOS 8 UIPageViewController在转换后应用约束

iOS 8 UIPageViewController在转换后应用约束
EN

Stack Overflow用户
提问于 2014-09-11 23:14:45
回答 4查看 13.4K关注 0票数 65

我的应用程序有一个多窗格教程样式的视图,用户可以通过滑动来了解该应用程序。这在很大程度上是作为described in this tutorial实现的。在实现了Xcode7和iOS 8之后,我比较了它们的工作方式,并发现后者存在问题--我在这里运行的是Xcode6 GM。

在转换完成后,UIPageViewController似乎正在渲染视图。我重写了委托方法以查看发生了什么:

- (void)pageViewController:(UIPageViewController *)pageViewController willTransitionToViewControllers:(NSArray *)pendingViewControllers
{
   NSLog(@"Frame size before: %@", NSStringFromCGRect([(UIViewController*)pendingViewControllers[0] view].frame));
}

- (void)pageViewController:(UIPageViewController *)pageViewController didFinishAnimating:(BOOL)finished previousViewControllers:(NSArray *)previousViewControllers transitionCompleted:(BOOL)completed
{
   NSLog(@"Frame size after: %@", NSStringFromCGRect([(UIViewController*)previousViewControllers[0] view].frame));
}

下面是一个示例输出:

Frame size before: {{0, 0}, {600, 600}}
Frame size after: {{0, 0}, {320, 568}}

这表现为:向左滑动以拉入下一个视图,并注意到新视图底部有一个32磅的空白区域。一旦转换完成,它就会进入正确的布局。

这是不是iOS 8中的一个bug?在这一点上,我完全不能猜测。

EN

回答 4

Stack Overflow用户

发布于 2014-10-06 20:24:39

我知道你需要把你的约束建立在视图上,而不是视图控制器的布局向导上。这将确保视图控制器遵守在PageViewController中转换之前设置的约束。

您可以这样做:

记得取消勾选“限制到页边距”

票数 113
EN

Stack Overflow用户

发布于 2014-10-10 09:57:40

对于任何有这个问题的人来说,对我来说,我似乎是在“相对于边际”( iOS 8中的一个新功能)布局视图。

而不是:

使用:

票数 41
EN

Stack Overflow用户

发布于 2015-05-08 06:22:46

对我来说,解决方案是将tableView的顶部固定到superview: Editor ->将->顶部空间固定到SuperView (iOS8)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25791183

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档