Tôi đã tạo thư viện bánh mì tùy chỉnh (rất đơn giản, chỉ một hộp xuất hiện dưới thanh điều hướng). Hoạt động tốt trong iOS 6 là nhóm mục tiêu của tôi. Nhưng kể từ khi iOS 7 đã phát hành nó đã không hiển thị chính xác.Cách sửa chữa chiều cao và chiều rộng của thanh trạng thái iOS 7
Con đường tôi đã cố gắng để sửa chữa nó đã được thông qua mã này:
if(SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"7,0")){
self.offset = [UIApplication sharedApplication].statusBarFrame.size.height + self.viewController.navigationController.navigationBar.frame.size.height;
}
tôi đã thực hiện một macro có thể được tìm thấy trên Stack tràn để phát hiện nếu phiên bản iOS 7 và sau đó thêm chiều cao thanh trạng thái và chiều cao điều hướng. Thao tác này hoạt động chính xác ở chế độ dọc trong iOS 7, nhưng khi tôi chuyển sang chế độ chỉnh sửa ngang sẽ trở thành 512 ?.
Ai đó có thể giải thích cách thức này xảy ra và cách tôi có thể khắc phục điều này?
Quyết định chia mã vì nhận xét và xem chính xác điều gì gây ra sự khác biệt. Những gì tôi đã làm là:
CGFloat statusBarHeight = [UIApplication sharedApplication] .statusBarFrame.size.height;
CGFloat navBar = self.viewController.navigationController.navigationBar.frame.size.height;
self.offset = statusBarHeight + navBar;
NSLog(@"Init - statusBarHeight: %f, navBar: %f", statusBarHeight, navBar);
Khi nó quay ra đối với một số lý do statusbar là trong bức chân dung 20 và trong bối cảnh đó là 480
Điều này là do chiều cao và chiều rộng được quay lại, câu trả lời đến từ bình luận
tôi đoán là trong cảnh quan [UIApplication sharedApplication] .statusBarFrame.size.width và [UIApplication sharedApplication] .statusBarFrame.size.height giá trị được chuyển –
này là đúng, cảm ơn nếu bạn có thể gửi câu trả lời của bạn tôi có thể chấp nhận nó – Haagenti