[UIApplication sharedApplication].statusBarFrame.size.height
. Nhưng vì tất cả các kích thước được tính bằng điểm, không phải bằng pixel, chiều cao của thanh trạng thái luôn bằng 20.
Cập nhật.Thấy câu trả lời này được coi là hữu ích, tôi nên giải thích.
Thực tế, chiều cao của thanh trạng thái bằng 20.0f điểm trừ các trường hợp sau:
- thanh trạng thái đã bị ẩn với
setStatusBarHidden:withAnimation:
phương thức và chiều cao của nó bằng 0,0f điểm;
- như @Anton ở đây đã chỉ ra, trong một cuộc gọi đến bên ngoài ứng dụng Điện thoại hoặc trong chiều cao thanh trạng thái phiên ghi âm bằng 40,0f điểm.
Ngoài ra còn có một trường hợp thanh trạng thái ảnh hưởng đến chiều cao của chế độ xem của bạn. Thông thường, chiều cao của khung nhìn bằng kích thước màn hình cho hướng đã cho trừ đi chiều cao của thanh trạng thái. Tuy nhiên, nếu bạn làm động thanh trạng thái (hiển thị hoặc ẩn nó) sau khi chế độ xem được hiển thị, thanh trạng thái sẽ thay đổi khung của nó, nhưng chế độ xem sẽ không , bạn sẽ phải thay đổi kích thước chế độ xem sau khi hoạt hình trên thanh trạng thái (hoặc trong khi hoạt hình chiều cao thanh trạng thái đặt thành giá trị cuối cùng khi bắt đầu hoạt hình).
Cập nhật 2. Cũng có trường hợp định hướng giao diện người dùng. Thanh trạng thái không tôn trọng các giá trị định hướng, thanh trạng thái như vậy, chiều cao giá trị cho chân dung chế độ là [UIApplication sharedApplication].statusBarFrame.size.height
(vâng, định hướng mặc định luôn là chân dung, không có vấn đề gì info.plist ứng dụng của bạn nói), cho cảnh quan - [UIApplication sharedApplication].statusBarFrame.size.width
. Để xác định hướng hiện tại của UI khi ở ngoài UIViewController
và self.interfaceOrientation
không khả dụng, hãy sử dụng [UIApplication sharedApplication].statusBarOrientation
.
Cập nhật cho iOS7. Mặc dù phong cách trực quan của thanh trạng thái đã thay đổi, nó vẫn ở đó, khung của nó vẫn hoạt động như cũ. Phát hiện thú vị về chỉ thanh trạng thái tôi - tôi phần: bạn UINavigationBar
's lát gạch nền cũng sẽ được lát gạch để thanh trạng thái, vì vậy bạn có thể đạt được một số hiệu ứng thiết kế thú vị hay chỉ là màu sắc thanh trạng thái của bạn. Điều này cũng vậy, sẽ không ảnh hưởng đến chiều cao của thanh trạng thái theo bất kỳ cách nào.