0
if #available(iOS 11, *) {
let view = UIView()
view.frame = CGRect(x: 20, y: 0, width: 70, height: 50)
let btn: UIButton = UIButton(frame: CGRect(x:-14, y: 0, width: 30, height: 27))
btn.setBackgroundImage(UIImage(named: "BackArrow"), for: UIControlState());
btn.addTarget(self, action: #selector(ExampleController.barBtnBackAction), for: UIControlEvents.touchUpInside)
btn.center = CGPoint(x: btn.center.x,y :view.center.y)
let tap = UITapGestureRecognizer(target: self, action: #selector(ExampleController.barBtnBackAction))
view.addGestureRecognizer(tap)
view.isUserInteractionEnabled = true
view.backgroundColor = UIColor.black
view.addSubview(btn)
let leftButtonItem = UIBarButtonItem(customView: view)
self.navigationItem.leftBarButtonItem = leftButtonItem
}
このコードを使用してiOS 11のナビゲーションバーに戻るボタンを設定してもうまくいきません。ユーザーは、私はそれを使用してカスタムアクションをしたいと私はこのコードを使用していた前にiOS 11の前に私はデフォルトを使用することができません:(iOS 10の下に与えられた)それはうまくいきました。iOS 11戻るボタンの問題
let barBtnNeg = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.fixedSpace, target: self, action: nil)
barBtnNeg.width = -15.0
let btn: UIButton = UIButton(frame: CGRect(x: 0, y: 0, width: 30, height: 27))
btn.setBackgroundImage(UIImage(named: "BackArrow"), for: UIControlState());
btn.addTarget(self, action: #selector(ExampleController.btnBackAction), for: UIControlEvents.touchUpInside)
let barBtnBack = UIBarButtonItem(customView: btn)
self.navigationItem.leftBarButtonItems = [barBtnNeg, barBtnBack]
および#場合(Iバック矢印画像が右(アライメント誤差)に向かってシフトされます。このコードを使用して、Iフレームのx軸を減らす場合は静止画は、私は上記のコードを使用する必要はそれほどずれていない場合利用可能(iOS 11、*))。
戻るボタンの問題を解決するソリューション(ナビゲーションバー)カスタムイメージ、カスタムセレクタ(アクション)、およびカスタムアラインメントでは、