まだどこにもないアプリを作る

アプリ開発でつまづいたところなどを中心に記事にして行きます。

【Swift】BarButtonItemにシステムアイコンを指定する。UIBarButtonSystemItem

意外と手こずりました。

UIBarButttonItemとUIBarButtonSystemItemは違うようです。

 

↓がUIBarButtonSystemItemをナヴィゲーションアイテムの右端のボタンに配置するやり方です。

//左上のバーボタンをシェアボタンに

let myLeftButton = UIBarButtonItem(barButtonSystemItem: .action, target: self, action: .none) navigationItem.rightBarButtonItem = myLeftButton

       

 

↓こちらがiOS13以降に対応しているシステムアイコンをBarButtonItemにするやり方。

let myLeftButton2 = UIBarButtonItem(image: UIImage(systemName: "square.and.arrow.up"), style: .done, target: self, action: .none)

navigationItem.rightBarButtonItem = myLeftButton2

 

ボタンを押したときのアクションを実装したい場合はaction:のところをこうして

let myLeftButton2 = UIBarButtonItem(image: UIImage(systemName: "arrow.down.square"), style: .done, target: self, action: #selector(rightTopBarBA))

navigationItem.rightBarButtonItem = myLeftButton2

押されたときの関数を追加しましょう

@objc func rightTopBarBA(){

     print("右上のバーボタン")

    }

 

こちらのサイト様を参考にさせていただきました。

017 UIBarButtonItemの設置 - Swift Docs

 

 

#UIBarButtonSystemItemAction

#UINavigationController