Đây là hành vi mặc định UIViewController
trên iOS 7. Chế độ xem sẽ ở chế độ toàn màn hình, nghĩa là thanh trạng thái sẽ bao phủ đầu chế độ xem của bạn.
Nếu bạn có UIViewController
bên trong a UINavigationController
và Thanh điều hướng hiển thị, bạn có thể có mã sau trong của bạn viewDidLoad
hoặc có hình nền cho Thanh điều hướng thực hiện thủ thuật.
self.edgesForExtendedLayout = UIRectEdgeNone;
Nếu bạn đã ẩn navigationBar, thì bạn phải điều chỉnh tất cả các phần tử UIView bằng cách dịch chuyển 20 điểm. Tôi không thấy giải pháp nào khác. Sử dụng bố cục tự động sẽ giúp một chút.
Đây là mã mẫu để phát hiện phiên bản iOS, nếu bạn muốn tương thích ngược.
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;
}