มีวิธีซ่อนแถบสถานะเมื่อแสดงหน้าจอเริ่มต้นใน 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/>