[UIApplication sharedApplication].statusBarFrame.size.height
. แต่เนื่องจากขนาดทั้งหมดมีจุดไม่ใช่เป็นพิกเซลความสูงของแถบสถานะจะเท่ากับ 20 เสมอ
ปรับปรุง การเห็นคำตอบนี้ถือว่ามีประโยชน์ฉันควรทำอย่างละเอียด
ความสูงของแถบสถานะคือเท่ากับ 20.0f คะแนนยกเว้นกรณีต่อไปนี้:
- แถบสถานะถูกซ่อนด้วย
setStatusBarHidden:withAnimation:
เมธอดและความสูงเท่ากับ 0.0f คะแนน
- ตามที่ @Anton นี่ชี้ให้เห็นในระหว่างการโทรเข้าด้านนอกของแอปพลิเคชั่นโทรศัพท์หรือในระหว่างแถบสถานะการบันทึกเสียงสูงเท่ากับ 40.0f จุด
นอกจากนี้ยังมีกรณีแถบสถานะที่มีผลต่อความสูงของมุมมองของคุณ โดยปกติความสูงของมุมมองเท่ากับขนาดหน้าจอสำหรับการวางแนวที่กำหนดลบความสูงของแถบสถานะ อย่างไรก็ตามหากคุณเคลื่อนไหวแถบสถานะ (แสดงหรือซ่อน) หลังจากที่แสดงมุมมองแถบสถานะจะเปลี่ยนเฟรม แต่มุมมองจะไม่แสดงคุณจะต้องปรับขนาดมุมมองด้วยตนเองหลังจากภาพเคลื่อนไหวแถบสถานะ (หรือระหว่างภาพเคลื่อนไหวตั้งแต่ ความสูงของแถบสถานะตั้งค่าเป็นค่าสุดท้ายเมื่อเริ่มต้นการเคลื่อนไหว)
อัปเดต 2.นอกจากนี้ยังมีกรณีของการวางแนวส่วนติดต่อผู้ใช้ แถบสถานะไม่เคารพค่าปฐมนิเทศจึงสถานะค่าบาร์สูงสำหรับภาพโหมด[UIApplication sharedApplication].statusBarFrame.size.height
(ใช่การวางแนวทางเริ่มต้นอยู่เสมอภาพไม่ว่าสิ่งที่ info.plist ของแอปกล่าวว่า) สำหรับภูมิทัศน์[UIApplication sharedApplication].statusBarFrame.size.width
- เพื่อตรวจสอบการวางแนวทางปัจจุบัน UI เมื่อนอกUIViewController
และไม่ให้ใช้self.interfaceOrientation
[UIApplication sharedApplication].statusBarOrientation
อัปเดตสำหรับ iOS7 แม้ว่าสไตล์ภาพแถบสถานะจะเปลี่ยนไป แต่ก็ยังอยู่ที่นั่นเฟรมยังคงทำงานเหมือนเดิม พบที่น่าสนใจเพียงประมาณแถบสถานะฉันได้ - ฉันหุ้นของคุณUINavigationBar
's กระเบื้องพื้นหลังจะได้รับการปูกระเบื้องเพื่อแถบสถานะเพื่อให้คุณสามารถบรรลุผลการออกแบบที่น่าสนใจบางหรือเพียงแค่สีแถบสถานะของคุณ สิ่งนี้จะไม่ส่งผลกระทบต่อความสูงของแถบสถานะ แต่อย่างใด