2017-09-21 2 views
-5

ナビゲーション項目ボタンの画像を変更したいと思います。viewDidLoad/viewWillAppearの外でナビゲーションバーボタンを変更することはできますか? swift

別のボタンをクリックnavigationItem UINavigationBarにこのボタン項目の画像を変更

+0

あなたがコードを自分で書き、あなたが問題を持っているならば、コードに関するお持ちのご質問をもたらすことが期待されています。 – Samuel

答えて

-1

に私はあなたが正しい、ナビゲーションバーに動的にボタンの画像を変更する方法を意図したと思いますか?

もしそうなら、私はタイトルが少し誤解を招くかもしれないと思うし、他の人が指摘するように、コードのいくつかの部分やあなたが試したものを投稿することによっていくつかの研究を行ったことを示すことができます。

とにかく、ナビゲーションバーの外観を変更して、アプリ内のどこでも同じように見せたいとします。次に、UINavigationBar()を使用してナビゲーションバーに(たとえば、appDelegateのdidFinishLaunchメソッドで)アクセスし、必要に応じてそのプロパティを設定できます。

各ビューコントローラのナビゲーションバーをカスタマイズしたり、ある時点でナビゲーションバーのボタンの画像を変更したりする場合は、実際にはviewDidLoadにコードを記述する必要がありますまたはviewWillAppear)。それをやっての

そして、もう一つの方法は、次のようになります。

override func viewDidLoad() { 
     super.viewDidLoad() 

     // ... 

     // Create your button: 

     let button = UIButton(type:.custom) 

     // Create your image: 

     let buttonImage = UIImage(named: "yourImageNameHere") 

     // Set your button image: 

     button.setImage(buttonImage, for: .normal) 

     // Set its frame: 

     button.frame = CGRect(x:0, y:0, width:30, height:30) 

     // Add a target to it if you need: 

     button.addTarget(self, action: #selector(yourMethodGoesHere), for: .touchUpInside) 

     // Create the bar button using your custom button: 

     let barButton = UIBarButtonItem(customView: button) 

     // Add the bar button to your navigation bar: 

     navigationItem.rightBarButtonItem = barButton 

     // ... 
    } 
関連する問題