Ini adalah perilaku default untuk UIViewControlleriOS 7. Tampilan akan menjadi layar penuh yang berarti bilah status akan menutupi bagian atas tampilan Anda.
Jika Anda memiliki UIViewControllerdalam a UINavigationControllerdan navigationBar terlihat, Anda dapat memiliki kode berikut di Anda viewDidLoadatau memiliki gambar latar belakang untuk navigationBar melakukan trik.
self.edgesForExtendedLayout = UIRectEdgeNone;
Jika Anda menyembunyikan navigationBar, maka Anda harus menyesuaikan semua elemen UIView dengan menggeser 20 poin. Saya tidak melihat solusi lain. Gunakan tata letak otomatis akan sedikit membantu.
Berikut adalah contoh kode untuk mendeteksi versi iOS, jika Anda ingin kompatibilitas ke belakang.
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;
}