我有一个从两个不同的地方调用的viewcontroller(Nib)。当我从一个地方调用它时,一切看起来都很好但是从另一个地方看起来似乎总是有一个20px(看起来足够状态栏)偏移顶部..
如果我旋转设备,它会消失,它看起来很好..我从昨天开始对此进行故障排除,没有运气 - 据我所知,当我加载屏幕时,我没有做任何不同的事情.. < / p>
我不确定要粘贴哪些代码,因为从两个地方以相同的方式调用它们,我正在寻找任何想法 - 即使它不是一个答案,因为我似乎没有想法。
截图,
答案 0 :(得分:1)
您是否尝试在edgesForExtendedLayout
设置viewDidLoad
?
if ( IS_OS_7_OR_LATER && [self respondsToSelector:@selector(edgesForExtendedLayout)] ) {
self.edgesForExtendedLayout = UIRectEdgeNone;
}
编辑:如果您想了解有关如何修复iOS 7的更多信息,请点击Apple的iOS 7 Transition Guide
答案 1 :(得分:0)
我希望这些问题可以帮助我们和您找出问题:
您是使用“界面”构建器还是以编程方式调用VC?
您是否添加了任何约束?
我最好的猜测是你尝试加载VC:
- (void)viewWillLayoutSubviews
而不是
- (void)viewDidLoad
这个建议的原因是在viewDidLoad中没有正确加载屏幕边界,您可以通过打印self.view.bounds.width
&amp; self.view.bounds.height
。在viewDidLoad中,它们未正确设置。这可能导致许多后来的问题。这只是一个疯狂的猜测。
希望它有所帮助。