2016-05-21 48 views
0

要在導航器視圖中自定義導航欄,我使用了self.navigationController!.navigationBar 來訪問它。我是從第一個視圖控制器的.swift文件中完成的。它工作正常,但我想知道是否有更好的地方把我失蹤的代碼?有沒有人爲導航視圖使用單獨的.swift文件?iOS版導航控制器代碼的正確位置?

回答

1

這不是一個可怕的方式來做到這一點。它肯定會完成這項工作。

根據您要完成的操作,有幾種方法可以訪問導航欄。

  1. 對於需要爲您所在視圖專門定製欄的情況,按照您描述的方式進行操作即可。

一個注意:你力展開navigationController。如果你決定這樣做,你只需要確保視圖控制器將始終在UINavigationController之內。

  • 在要自定義的外觀和感覺,不管什麼查看你在,你可以繼承一個UINavigationController並在其viewDidLoad方法做任何類型的定製在那裏的情況。然後,而不是像這樣創建一個導航控制器UINavigationController.init(rootViewController: someViewController),而是使用UINavigationController的子類。 YourNavigationControllerClass.init(rootViewController: someViewController)

  • #2你想創建一個新的類,並把代碼中的新類viewDidLoad方法。

    enter image description here enter image description here

    +0

    大,這是非常有幫助!有一件事情我仍然不確定情況2:在哪個.swift文件中最好定義UINavigationController子類並創建一個導航控制器? – sboo

    +0

    @SarahBoo我更新瞭解決你的問題的答案。您將創建一個新的Swift類,該類是'UINavigationController'的子類。 –