นี่เป็นลักษณะการทำงานเริ่มต้นสำหรับUIViewController
iOS 7 มุมมองจะเป็นแบบเต็มหน้าจอซึ่งหมายความว่าแถบสถานะจะครอบคลุมด้านบนของมุมมองของคุณ
หากคุณมีUIViewController
ภายใน a UINavigationController
และ navigationBar มองเห็นได้คุณสามารถมีรหัสต่อไปนี้ในของคุณviewDidLoad
หรือมีภาพพื้นหลังสำหรับ navigationBar ทำเคล็ดลับ
self.edgesForExtendedLayout = UIRectEdgeNone;
หากคุณมี navigationBar ซ่อนอยู่คุณจะต้องปรับองค์ประกอบ UIView ทั้งหมดโดยเลื่อน 20 จุด ฉันไม่เห็นวิธีแก้ปัญหาอื่นใด ใช้รูปแบบอัตโนมัติจะช่วยได้เล็กน้อย
นี่คือโค้ดตัวอย่างสำหรับการตรวจจับเวอร์ชัน iOS หากคุณต้องการใช้งานร่วมกันได้แบบย้อนหลัง
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;
}