デフォルトのBackボタン(アイコンのみ)と見た目をほぼほぼ合わせることができたのでメモ。
Backボタンタップ時にアラート表示したいときなどにBackボタンの見た目をほぼ変えずに対応できるようになります!
Default | Custom |
---|---|
let imageConfig = UIImage.SymbolConfiguration(pointSize: 22, weight: .medium, scale: .default)
let image = UIImage(systemName: "chevron.left", withConfiguration: imageConfig)
let buttonItem = UIBarButtonItem(image: image, style: .plain, target: target, action: action)
buttonItem.imageInsets = UIEdgeInsets(top: 0, left: -8, bottom: 0, right: 0)
navigationItem.leftBarButtonItem = buttonItem
ポイントはUIImage.SymbolConfiguration
をセットするのとimageInsets
で左の余分なマージンを消すこと。
Customのアイコンの位置が微妙に上になってしまったがimageInsets
のtop/bottomがなぜか効かなかった