Có cách nào để ẩn thanh trạng thái khi hiển thị màn hình giật gân trong iPhone và sau đó hiển thị lại trong ứng dụng không?
Có cách nào để ẩn thanh trạng thái khi hiển thị màn hình giật gân trong iPhone và sau đó hiển thị lại trong ứng dụng không?
Câu trả lời:
Tôi khá chắc chắn rằng nếu tệp Info.plist của bạn có Status bar is initially hidden
giá trị được đặt thành YES
, thì nó sẽ không hiển thị khi ứng dụng của bạn đang tải. Sau khi ứng dụng của bạn đã tải, bạn có thể hiển thị lại thanh trạng thái bằng setStatusBarHidden:animated:
phương pháp của UIApplication .
[[UIApplication sharedApplication] setStatusBarHidden:NO];
trên - ứng dụng: didFinishLaunchingWithOptions:
Khóa chính xác trong .plist là "UIStatusBarHidden" và chọn bên phải được chọn. Nó sẽ trở thành "Thanh trạng thái ban đầu bị ẩn" sau đó tự động. Trong thực tế của tôi, bạn có thể kiểm soát hiển thị / ẩn của StatusBar ở bất kỳ đâu bằng cách ẩn:
[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:NO];
[UIApplication sharedApplication].keyWindow.frame=CGRectMake(0, 0, 320, 480); //full screen.
khi hiển thị:
[[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:NO];
[UIApplication sharedApplication].keyWindow.frame=CGRectMake(0, 20, 320, 460); //move down 20px.
hy vọng điều này là hữu ích cho bạn.
[[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
đang mong đợi một typedef NSInteger UIStatusBarAnimation
cho đối số thứ hai, không phải BOOL. Thay vì NO
, hãy sử dụngUIStatusBarAnimationNone
Xem -> Loại danh sách tài sản -> iPhone Info.plist. Bây giờ, hãy tạo một mục mới với chọn "Thanh trạng thái ban đầu bị ẩn".
Sau câu trả lời của Dave, khóa "Thanh trạng thái ban đầu bị ẩn" không hoạt động đối với tôi trong iOS 4.3 NHƯNG khóa "UIStatusBarHidden" và sau đó đặt loại của nó thành Boolean và chọn hộp đã thực hiện thủ thuật.
Bài viết dành cho nhà phát triển này đã đưa tôi đến với các khóa Info.plist và sau đó tìm ra khóa tương đương để ẩn nó không quá khó.
Điều thú vị là "UIStatusBarStyle" cần sử dụng tên liệt kê như một chuỗi để nó hoạt động.
Đối với Xcode 5 trở lên, bạn chỉ cần đặt:
Xem giao diện thanh trạng thái dựa trên bộ điều khiển thành KHÔNG
Trong info.plist của bạn hoặc trong tab thông tin về dự án chính của bạn.
không được dùng nữa
setStatusBarHidden:(BOOL) animated:(BOOL)
là chính xác
setStatusBarHidden:(BOOL) withAnimation:(UIStatusBarAnimation)
UIStatusBarAnimation có thể là:
UIStatusBarAnimationNone hoặc UIStatusBarAnimationFade hoặc UIStatusBarAnimationSlide
Điều này đã làm việc cho tôi trong info.plist:
"View controller-based status bar appearance" -> set to NO
Đối với trình soạn thảo XML ~ thêm vào con đầu tiên của
<key>UIStatusBarHidden</key>
<true/>