2014-09-30 15 views
5

Tôi có thiết lập khá đơn giản trong ứng dụng iPhone của mình, với bộ điều khiển điều hướng và bộ điều khiển chế độ xem. Bộ điều khiển xem có tiêu đề và đối với hầu hết các chế độ xem của tôi, các trình điều khiển chế độ xem khác hoạt động như mong đợi: tiêu đề được sử dụng làm nhãn cho nút "quay lại" trên thanh điều hướng và chế độ xem mới được hiển thị. Sau khi chế độ xem mới đã được xuất hiện từ ngăn xếp, chế độ xem cũ được hiển thị với tiêu đề của nó. Tuy nhiên, ngay khi bộ điều khiển chế độ xem đẩy thực hiện prefersStatusBarHidden với giá trị trả về CÓ, tiêu đề trong thanh điều hướng biến mất sau khi chế độ xem này xuất hiện từ ngăn xếp - nó vẫn trống và thậm chí không hiển thị thanh công cụ tùy chỉnh của tôi .Nội dung NavigationBar biến mất trên cửa sổ pop từ chế độ xem với prefersStatusBarHidden = YES

Ngoài ra, thực hiện việc này ở chế độ ngang thay vì dọc sẽ không hiển thị hành vi này - tiêu đề được hiển thị chính xác. Nếu bạn gặp phải sự cố này ở chế độ dọc, bạn có thể biến điện thoại thành ngang và quay lại chân dung một lần nữa và tiêu đề và mọi thứ khác sẽ xuất hiện lại tại chỗ.

Tôi không chắc chắn nếu điều này đã ở đó trong các phiên bản trước của iOS, nhưng tôi hiện đang nhìn thấy nó với iOS 8.

Trả lời

4

tôi đã cùng một vấn đề và cách giải quyết đối với tôi là thế này:

Trong bộ điều khiển điểm cho rằng là có prefersStatusBarHidden thiết lập để YES thêm:

- (void)viewWillDisappear:(BOOL)animated 
{ 
    [self.navigationController setNavigationBarHidden:YES]; 
    [self.navigationController setNavigationBarHidden:NO]; 
} 
+0

Loại tác phẩm này, nhưng lưu ý rằng nó làm rối tung cử chỉ pop tương tác. Khai thác và kéo cạnh trái và lùi lại nhiều lần sẽ chạy viewWillDisappear nhiều lần. Bằng cách nào đó mà nguyên nhân UINavigationController để có được ngăn xếp VC của nó bối rối, đôi khi dẫn đến một chu kỳ vô hạn của các nút quay lại (bấm trở lại, hoạt hình xảy ra, nhưng không có VC được bật ra khỏi ngăn xếp). –

+0

Làm việc cho tôi, và mặc dù tôi không thích giải pháp nhiều, tôi sẽ chấp nhận nó như một câu trả lời cho đến khi ai đó cung cấp một giải pháp tốt hơn ... cảm ơn! –

+3

Đã gửi báo cáo lỗi cho bugreport.apple.com với id: 19416305. Nhân bản nếu bạn có thể, cảm ơn! –

0

Tôi tin rằng đó là bởi vì prefersStatusBarHidden là một khung cảnh rộng ứng dụng, chứ không phải cho mỗi lần xem bộ điều khiển.

Bạn có thể làm được việc này bằng cách thêm vào các bộ điều khiển xem đẩy ViewWillDisappear phương pháp

- (void)viewWillDisappear:(BOOL)animated { 
[UIApplication sharedApplication].statusBarHidden = NO; 
} 
+0

tôi không nghĩ rằng đây là một môi trường ứng dụng toàn vì nó là một phương pháp cần được ghi đè bởi bộ điều khiển chế độ xem không muốn hiển thị thanh trạng thái. Thanh trạng thái tự nó hoạt động như mong đợi, nó biến mất khi push và xuất hiện lại trên pop - hiển thị rõ ràng nó trong viewwilldisappear không giúp đỡ ở đây, thật không may. –

Các vấn đề liên quan