มีวิธีซ่อนแถบสถานะเมื่อแสดงหน้าจอเริ่มต้นใน iPhone แล้วแสดงอีกครั้งในแอปพลิเคชันหรือไม่?
มีวิธีซ่อนแถบสถานะเมื่อแสดงหน้าจอเริ่มต้นใน iPhone แล้วแสดงอีกครั้งในแอปพลิเคชันหรือไม่?
คำตอบ:
ฉันค่อนข้างมั่นใจว่าหากไฟล์ Info.plist ของคุณมีStatus bar is initially hidden
ค่าที่ตั้งไว้YES
มันจะไม่แสดงในขณะที่แอปพลิเคชันของคุณกำลังโหลด เมื่อแอปพลิเคชันของคุณโหลดแล้วคุณสามารถแสดงแถบสถานะอีกครั้งโดยใช้setStatusBarHidden:animated:
วิธีการของ UIApplication
[[UIApplication sharedApplication] setStatusBarHidden:NO];
- application: didFinishLaunchingWithOptions:
คีย์ที่ถูกต้องใน. plist คือ "UIStatusBarHidden" และตรวจสอบด้านขวามันจะกลายเป็น "แถบสถานะถูกซ่อนในตอนแรก" จากนั้นโดยอัตโนมัติ ในทางปฏิบัติของฉันคุณสามารถควบคุมการแสดง / ซ่อนของ StatusBar ได้ทุกที่โดยเมื่อซ่อน:
[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:NO];
[UIApplication sharedApplication].keyWindow.frame=CGRectMake(0, 0, 320, 480); //full screen.
เมื่อแสดง:
[[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:NO];
[UIApplication sharedApplication].keyWindow.frame=CGRectMake(0, 20, 320, 460); //move down 20px.
หวังว่านี่จะเป็นประโยชน์กับคุณ
[[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:NO];
float width = ((UIScreen *)[UIScreen mainScreen]).bounds.size.width;
float height = (((UIScreen *)[UIScreen mainScreen]).bounds.size.height - 20);
[UIApplication sharedApplication].keyWindow.frame = CGRectMake(0, 20, width, height);
setStatusBarHidden:withAnimation
คาดว่าจะมี NSInteger typedef UIStatusBarAnimation
สำหรับอาร์กิวเมนต์ที่สองไม่ใช่ BOOL แทนที่จะNO
ใช้UIStatusBarAnimationNone
ดู -> ประเภทรายการทรัพย์สิน -> iPhone Info.plist ตอนนี้สร้างรายการใหม่โดยเลือก "แถบสถานะเริ่มต้นถูกซ่อน"
การติดตามคำตอบของ Dave คีย์ "แถบสถานะถูกซ่อนในตอนแรก" ใช้ไม่ได้สำหรับฉันใน iOS 4.3 แต่คีย์ "UIStatusBarHidden" จากนั้นตั้งค่าให้เป็นประเภทบูลีนและทำเครื่องหมายในช่องนี้
บทความสำหรับนักพัฒนานี้ทำให้ฉันเข้าสู่คีย์ Info.plist จากนั้นการหาคีย์ที่เทียบเท่ากันเพื่อซ่อนมันก็ไม่ยากเกินไป
ที่น่าสนใจคือ "UIStatusBarStyle" ต้องใช้ชื่อการแจงนับเป็นสตริงเพื่อให้ทำงานได้
สำหรับ Xcode 5 ขึ้นไปคุณสามารถตั้งค่า:
ดูแถบสถานะที่ใช้คอนโทรลเลอร์เป็น NO
ใน info.plist ของคุณหรือในแท็บข้อมูลในโครงการหลักของคุณ
เขียน 1 บรรทัดนี้ในเมธอด. m viewDidload หลักของคุณ
[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:NO];
หรือเลือกไฟล์ info.plist จากโฟลเดอร์ไฟล์ที่สนับสนุนโครงการในพื้นที่ทำงาน
ตั้งค่า statusbarinitialyhidden เป็น YES
เลิกใช้แล้ว
setStatusBarHidden:(BOOL) animated:(BOOL)
ถูกต้อง
setStatusBarHidden:(BOOL) withAnimation:(UIStatusBarAnimation)
UIStatusBarAnimationซึ่งสามารถ:
UIStatusBarAnimationNoneหรือUIStatusBarAnimationFadeหรือUIStatusBarAnimationSlide
สิ่งนี้ใช้ได้ผลสำหรับฉันใน info.plist:
"View controller-based status bar appearance" -> set to NO
สำหรับตัวแก้ไข XML ~ เพิ่มลูกคนแรกของ
<key>UIStatusBarHidden</key>
<true/>