簡體   English   中英

使用導航欄或創建自定義類將自定義工具欄快速添加到每個視圖中?

[英]Add custom toolbar to every view in swift using navigation bar or creating custom class?

我想要一個添加到我的應用程序的每個視圖的工具欄,這是非常基本的,看起來像這樣: 在此處輸入圖片說明

注意:左右視圖在每個視圖中都相同。

我想知道最好是在每個viewcontroller中自定義導航欄,或者創建一個擴展UIToolBar並將其添加到每個控制器的類。 有什么更好的做法?

據我說,您應該創建UIViewController的擴展。 它會有一個方法,其中包含修改該視圖控制器的導航欄的代碼。 這樣,您可以修改所需屏幕的導航欄,這將是高度靈活的設計明智之舉。

例如,下面的擴展程序會將導航欄設置為透明,

extension UIViewController {

func setTransparentNavBar(_ target: UIViewController, leftAcion: Selector, rightAction: Selector) {
    self.navigationController?.navigationBar.setBackgroundImage(UIImage(), for: .default)
    self.navigationController?.navigationBar.shadowImage = UIImage()
    self.navigationController?.navigationBar.isTranslucent = true

    self.navigationItem.titleView = UIImageView(image: UIImage(named: "icon_2"))

    let leftBarButtonItem = UIBarButtonItem(image: UIImage(named: "icon_1"), style: UIBarButtonItem.Style.plain, target: target, action: leftAcion)
    //self.navigationItem.setLeftBarButton(leftBarButtonItem, animated: true)
    self.navigationItem.leftBarButtonItem = leftBarButtonItem

    let rightBarButtonItem = UIBarButtonItem(image: UIImage(named: "icon_3"), style: UIBarButtonItem.Style.plain, target: target, action: rightAction)
    //self.navigationItem.setRightBarButton(rightBarButtonItem, animated: true)
    self.navigationItem.rightBarButtonItem = rightBarButtonItem
}

}

每當需要此配置時,請在viewDidLoad()調用此方法

希望這可以幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM