2009-01-12 37 views
5

Tôi có UIView với thanh điều hướng. Làm cách nào để ẩn thanh điều hướng khi người dùng đặt iPhone theo hướng ngang và hiển thị lại trên chế độ xem dọc?Ẩn Thanh Điều hướng khi xoay

Trả lời

6

Điều này rất dễ tìm trong tài liệu. Trong các tài liệu UINavigationController, để ẩn thanh nav, bạn sử dụng:

- (void)setNavigationBarHidden:(BOOL)hidden animated:(BOOL)animated 

Nếu bạn muốn làm điều này khi xoay thiết bị, bạn sẽ muốn làm điều này trong các phương pháp quan điểm điều khiển của bạn (được đề cập trong UIViewController tài liệu):

- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration 
+0

nếu muốn thanh điều hướng đó không bao giờ ẩn khi định hướng được thay đổi, nhưng bất cứ khi nào tôi chuyển sang chế độ ngang luôn luôn ẩn, mã này cũng không hoạt động. làm ơn giúp tôi –

-2

Cách tốt hơn IMHO là sử dụng CGAffineTransform và rời khỏi thanh điều hướng - giống như chế độ xem thư viện ảnh của iPhone. Xem phần giới thiệu tuyệt vời của Jeff Lamarche Demystifying CGAffineTransform. Giúp tôi khá nhiều.

8
- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration { 
    [[self navigationController] setNavigationBarHidden:UIInterfaceOrientationIsLandscape(toInterfaceOrientation) animated:YES]; 
    [[UIApplication sharedApplication] setStatusBarHidden:UIInterfaceOrientationIsLandscape(toInterfaceOrientation) animated:YES]; 
} 
Các vấn đề liên quan