2015-05-31 26 views
8

Tôi đã làm việc trên một ứng dụng trong một thời gian và nó đẩy bộ điều khiển chế độ xem từ AppDelegate. Khi thanh điều hướng trước đó trên bộ điều khiển xem bị đẩy biến mất. Ngay bây giờ nó là một thanh điều hướng tĩnh (không phải là một phần của một bộ điều hướng), nhưng nó đã được trước đây và vẫn không hoạt động. Tôi đang làm gì sai? Có cách giải quyết nào khác không?Thanh điều hướng biến mất khi được lập trình

Đây là mã trong appdelegate mà tôi đang sử dụng để đẩy nó:

var storyboard = UIStoryboard(name: "Main", bundle: nil) 
var PostView: AnyObject! = storyboard.instantiateViewControllerWithIdentifier("NewView") 

var rootViewController = self.window!.rootViewController as! UINavigationController 
rootViewController.pushViewController(PostView as! UIViewController, animated: true) 

pushViewController là người tôi đang cố gắng để đẩy.

Trả lời

7

Trên bộ điều khiển điểm cho rằng bạn đang cố gắng đẩy, vào phương pháp viewDidLoad, cố gắng buộc các thanh điều hướng để không bị ẩn

self.navigationController?.setNavigationBarHidden(false, animated: false) 

Nếu đây giúp, kiểm tra bộ điều khiển xem trên kịch bản nếu bạn đang không buộc bộ điều khiển nhằm ẩn thanh điều hướng

Hy vọng rằng sẽ giúp :)

0

rootViewControllerUINavigationController. Bộ điều khiển bạn từng xem với điều này sẽ sử dụng số UINavigationBar được xác định trong đó UINavigationController.

Nếu bạn không muốn "tự động" UINavigationBar đi kèm với UINavigationController, chỉ cần đặt một số loại bộ điều khiển chế độ xem khác làm bộ điều khiển ban đầu (hoặc không đặt bộ điều khiển xem là ban đầu).

+0

Vấn đề của tôi không phải là tôi không muốn sử dụng Bộ điều khiển Nav. Đó là NavController của tôi không hiển thị. Chỉ chế độ xem không có thanh điều hướng. –

+0

Tôi muốn nó ở đó để tôi có thể quay trở lại xem trước điều khiển –

+0

Và bạn chắc chắn rằng bạn có một UINavigationController như bộ điều khiển xem ban đầu trong Storyboard của bạn? –

1

Hãy thử điều này:

var storyboard = UIStoryboard(name: "NewStoryBoard", bundle: nil) 

let vc = storyboard.instantiateViewController(withIdentifier: "NewView") as! UIViewController 

self.navigationController?.pushViewController(vc, animated: true) 
Các vấn đề liên quan