2009-10-24 38 views

Trả lời

95

Đặt mã này vào bộ điều khiển chế độ xem mà bạn muốn ẩn thanh điều hướng.

- (void) viewWillAppear:(BOOL)animated { 
    [super viewWillAppear:animated]; 
    [self.navigationController setNavigationBarHidden:YES animated:animated]; 
} 

Và bạn cũng có thể muốn dính này trong đó, tùy thuộc vào nhu cầu của bạn:

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

Tôi muốn thêm vào câu hỏi, cách làm cho ẩn/hiển thị khi người dùng chạm vào vị trí của nó. Tức là: giống như trong ứng dụng ảnh. – JoePasq

+3

Bạn chỉ cần đặt cuộc gọi setNavigationBarHidden đó bất cứ nơi nào bạn muốn, khi bạn cần ẩn thanh điều hướng. –

+0

Điều tốt nhất cho tôi. –

0

Đối với iOS 8 Có thể làm việc này xung quanh có thể làm việc đó

CATransition* transition = [CATransition animation]; 
     transition.duration = 0.3; 
     transition.type = kCATransitionPush; 
     transition.subtype = kCATransitionFromRight; 
     [self.navigationController.view.layer addAnimation:transition forKey:kCATransition]; 
     [self.navigationController setNavigationBarHidden:TRUE animated:FALSE]; 
     [self.navigationController pushViewController:productViewObj animated:FALSE]; 
     [productViewObj.navigationController setNavigationBarHidden:TRUE animated:FALSE]; 
     [productViewObj release]; 
2

Dưới đây là cách thực hiện trong Swift 3:

override func viewWillAppear(_ animated: Bool) { 
    super.viewWillAppear(animated) 
    self.navigationController?.setNavigationBarHidden(true, animated: animated) 
} 

P.S. Tôi thấy rằng nếu bạn đặt hoạt ảnh thành false, một thanh màu đen sẽ xuất hiện khi đang đẩy. Nhưng khi nó được thiết lập để true nó mịn màng như lụa!

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