Các iOS 7 Transition Guide đưa ra một gợi ý tốt như thế nào để thay đổi UIStatusBarStyle
động trong một UIViewController
sử dụngLàm thế nào để thay đổi UIStatusBarStyle trong iOS 7 trong chế độ xem phương thức với thanh điều hướng?
- (UIStatusBarStyle)preferredStatusBarStyle {
return UIStatusBarStyleDefault;
}
cùng với [self setNeedsStatusBarAppearanceUpdate];
này hoạt động tốt trong một ứng dụng xem duy nhất. Tuy nhiên, tôi hiện đang cố gắng thay đổi UIStatusBarStyle
trong chế độ xem phương thức thành UIStatusBarStyleLightContent
. Có một số MainViewController
phân biệt với số ModalViewController
, chính nó được nhúng trong một số NavigationController
. ModalViewController
đã đặt đại biểu của mình cho số MainViewController
.
Tôi cố gắng để gọi [self setNeedsStatusBarAppearanceUpdate];
trong ModalViewController
cùng với các phương pháp sau đây trong lớp đó không có hiệu lực:
// In ModalViewController.m
- (UIStatusBarStyle)preferredStatusBarStyle {
return UIStatusBarStyleLightContent;
}
Tôi cũng đã cố gắng gọi [self setNeedsStatusBarAppearanceUpdate];
trong MainViewController
trên prepareForSegue: sender:
phương pháp với điều kiện trong - (UIStatusBarStyle)preferredStatusBarStyle {}
trở UIStatusBarStyleLightContent
khi chế độ xem phương thức được trình bày - nhưng điều đó cũng không có hiệu ứng.
Làm cách nào để thay đổi UIStatusBarStyle trong chế độ xem phương thức?
EDIT: bài viết Cập nhật: tôi cần phải đề cập đến rằng ModalViewController
được nhúng vào trong một NavigationController
với một NavigationBar
. Với NavigationBar
đặt thành ẩn ở trên cuộc gọi của [self setNeedsStatusBarAppearanceUpdate];
trong ModalViewController
hoạt động tốt. Nhưng không phải khi Bar có thể nhìn thấy.
Bạn gọi [self setNeedsStatusBarAppearanceUpdate] trong triển khai ModalViewController ở đâu? – Moxy
Trong phương thức 'viewDidLoad' – FrankZp
Còn về' -viewWillAppear: '? – Moxy