2012-01-02 23 views
18

Ứng dụng của tôi là Ứng dụng được gắn thẻ và có một số bộ điều khiển trong tabBarController. Một bộ điều khiển là một navigationController và khung nhìn gốc của nó là một khung nhìn bảng. Khi tôi nhấp vào hàng của chế độ xem bảng, một chế độ xem khác sẽ được đẩy vào. Vì vậy, câu hỏi đặt ra là khi chế độ xem được đẩy vào, làm cách nào để ẩn tabBar ở dưới cùng? Ngoài ra, tôi cũng muốn thêm một thanh tabBar khác vào chế độ xem được đẩy, vì vậy tôi cần phân bổ UITabBar hoặc UITabBarController? Hay có cách nào khác? Cảm ơn bạn!Làm cách nào để ẩn thanh tabBar khi nhấn một chế độ xem?

Trả lời

48

sử dụng methood này trong lớp UIViewController nơi bạn muốn ẩn tabBarController

-(BOOL)hidesBottomBarWhenPushed 
{ 
    return YES; 
} 

Cập nhật

Theo đề nghị của @Yuchen Zhong trong câu trả lời của mình, tùy chọn này bây giờ đã có trong kịch bản chinh no.

enter image description here

+1

Cảm ơn! Tôi đã sử dụng phương pháp này nhưng nó vẫn không hoạt động. Tôi cũng sử dụng "myViewController.tabBarController.hidesBottomBarWhenPushe = YES", và nó cũng không hoạt động. Tôi đang bối rối về điều này. Tôi có cần phải thay đổi cấu trúc của mình hoặc có những cách tốt hơn không? Cảm ơn bạn! – wjldxt

+1

Tôi có một ứng dụng TabBar tương tự với NavigationController làm bộ điều khiển thứ nhất của nó, nhưng trong navigationController, tôi chỉ có thêm một tableView và đẩy chế độ xem khác trong didSelectRow methood của chế độ xem bảng. có bạn đã tableVeiwController thay vì một tableView đơn giản .. ?? sẽ hữu ích nếu bạn dán một số mã của bạn ở đây – Bonnie

+0

Cảm ơn bạn! Tôi đã làm nó cuối cùng. Đó là lỗi của riêng tôi mà tôi đặt navigationController vào một viewController. Khi tôi sử dụng navigationController trực tiếp, nó đã thành công. Cảm ơn nhiều! – wjldxt

8

Set UIViewController.hidesBottomBarWhenPushed = YES khi bạn muốn thanh hide tab.

... 
nextViewController.hidesBottomBarWhenPushed = YES; 
... 
+0

Cảm ơn bạn @ tuoxie007 – Kakashi

+0

Cảm ơn nó đã hoạt động. – Chandni

5

Đôi khi phương thức ẩnBottomBarWhenPushed ẩn thanh đáy bằng hoạt ảnh bị giật.

Thay vào đó tôi giấu thanh tabbar trong viewDidLoad với

self.tabBarController.tabBar.hidden = YES; 

và khôi phục sự hiện diện của nó trong viewWillDisappear

self.tabBarController.tabBar.hidden = NO; 
+0

không đẹp, như bạn giả định trong VC này rằng VC khác trên ngăn xếp muốn tabbar - cũng 'viewDidLoad' là vị trí sai, vì nó có thể được gọi ngay cả khi VC này chưa xuất hiện, cũng' self.tabBarController' có thể là 'nil' – fabb

12

Bạn có thể làm điều này trong kịch bản bây giờ:

  1. Chọn UIViewController trong bảng phân cảnh
  2. Chọn hộp kiểm Hide Bar dưới trên Đẩy

enter image description here

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