【发布时间】:2012-08-21 20:40:14
【问题描述】:
我遇到了一个由我不明白的方向魔法引起的问题。 首先,我使用的是加载 ViewController 的 NavigationController。在这个 ViewController 中是一个 ScrollView。当我询问 ScrollView 的位置时,我得到了错误的数据。例如: ScrollView 的 x 坐标在界面生成器中是 90。如果我以编程方式获取 ScrollView 的框架,它会返回 280。 应用程序中的所有内容都设置为横向。在 Info.plist 中,在摘要中,在 ViewControllers 的实现中,在界面构建器中。
我做了一些截图。也许他们在帮助找出错误。
每个 ViewController 都有这个:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return UIInterfaceOrientationIsLandscape(interfaceOrientation);
}
如果我从 Storyboard 中删除 NavigationController 并将模拟指标留给推断,那么第一个 ViewController 会在 Storyboard 中切换为纵向。
当我从 NavigationController 记录视图的大小时,它是纵向的
NSLog(@"frame %@", NSStringFromCGRect(self.view.frame));
输出为 768x1024
【问题讨论】:
-
所以你想锁定横向吗?
-
有没有试过在
viewWillApper:animated:方法中实现scrollView的所有自定义? -
@FaddishWorm,是的,它只是风景,这不是问题。视图的框架搞砸了。
-
@AalokParikh,这解决了问题。坦克你!
-
@zeiteisen 我已发表我的评论作为答案。请接受它作为接受的答案:)
标签: ios orientation uistoryboard