我很困惑。我没有状态栏,我不知道如何制作滚动视图的尺寸。是320 x 480还是320 x 460?因为当我将它拖到故事板上并且它填满整个屏幕时它表示它是320 x 460,但是当我向它添加子视图时,它们会被奇怪地定位,因此它就像视图的长度为20像素一样。
编辑:我只是有点困惑,因为当我的状态栏消失时,它不会重新调整视图大小,它只会使视图20像素更短,这没有多大意义,对吧?它不应该让它更长20像素,而不是只切断20像素?答案 0 :(得分:7)
iPhone屏幕肯定是320x480。
您在故事板中遇到问题的原因是,有多个地方可以告诉您没有状态栏。你需要追踪所有这些(3?)并确保它没有状态栏。
最常见的问题是,您在先前的一个viewControllers中打开或推断了状态栏,而您在嵌套的viewController中将其专门设置为off。这导致它没有状态栏但显示为460像素高。正如你在图像中看到的那样,它明显缩短了20个像素。那是因为segue告诉它当它呈现给它"在"状态栏,即使它本身没有。如果我要将模式中的segue更改为推动问题就会消失。或者,如果我将第一个viewController设置为没有statusBar,那么问题就会消失。另请注意,在某些情况下,Xcode可能需要重新启动才能正确更新其图形化故事板。
还有一件事
同样在代码或故事板中设置隐藏状态栏与在.info文件中设置UIStatusBarHidden
到YES
相同。如果你把它隐藏到其他任何地方,那么你的default.png将被剪裁并在加载时显示状态栏,然后它会在应用程序完成启动后消失。因此,请务必将其隐藏在那里以获得一致的用户体验。
<强>代码强>
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// Override point for customization after application launch.
[application setStatusBarHidden:YES];
}
答案 1 :(得分:3)
它是320 x 480,你看到的20个像素是状态栏,如果你打算隐藏状态栏并想要在Interface Builder中匹配大小,你可以转到IB模拟指标 - &gt;状态栏并选择无。
这不会影响视图控制器中视图的实际大小,但是即使将视图设置为320 x 480,它也会自行调整大小以适应大小,视图控制器将自身调整为320 x如果有状态栏则为460;如果还有导航栏,则为320 x 418。
答案 2 :(得分:1)
我有点不喜欢iPhone编程,但这个20px应该是上边框,你可以看到载体和强度等。