Este es el comportamiento predeterminado para UIViewController
iOS 7. La vista será de pantalla completa, lo que significa que la barra de estado cubrirá la parte superior de la vista.
Si tiene un UIViewController
dentro de a UINavigationController
y la barra de navegación es visible, puede tener el siguiente código en su viewDidLoad
o tener una imagen de fondo para que la barra de navegación haga el truco.
self.edgesForExtendedLayout = UIRectEdgeNone;
Si tiene la barra de navegación oculta, entonces debe ajustar todos los elementos de UIView cambiando 20 puntos. No veo ninguna otra solución. Usar diseño automático ayudará un poco.
Aquí está el código de muestra para detectar la versión de iOS, si desea compatibilidad con versiones anteriores.
NSUInteger DeviceSystemMajorVersion() {
static NSUInteger _deviceSystemMajorVersion = -1;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
NSString *systemVersion = [UIDevice currentDevice].systemVersion;
_deviceSystemMajorVersion = [[systemVersion componentsSeparatedByString:@"."][0] intValue];
});
return _deviceSystemMajorVersion;
}