let leftBtn = UIButton(type: .custom)
let leftView = UIView(frame: CGRect(x: 0, y: 0, width: 80, height: 44))
leftBtn.frame = CGRect(x: 0, y: 15, width: 10, height: 18)
leftBtn.setBackgroundImage(#imageLiteral(resourceName: "login_btn_return"), for: .normal)
leftBtn.addTarget(self, action: #selector(leftReturnAction), for: .touchUpInside)
leftView.addSubview(leftBtn)
let leftButton = UIBarButtonItem(customView: leftView)
ios11導航欄返回按鈕圖片大小問題,之前設置frame的屬性,現在最好改動是先創建一個空的uiview,然后把按鈕或者問題label添加進去,最好初始化UIButtonItem(customView:(你自定義的UIView))
這樣設置之后就應該是沒啥問題了,然后大概原因是因為ios11的導航欄的圖層變了
9C87E378-ADCB-4115-9397-896229C09DC4.png
你添加的左側按鈕現在到了這個里面了,不是zhi'q之前的,之前的沒截圖我也不知道到底在哪,反正不是一樣的
F8C37030-7336-4FF3-9909-49B0F2A955AA.png
不止會導致點擊區域的變化 還會導致你設置的圖片會被變大
大概是這樣
原圖
A2D938F4-AA23-4DA7-8F2D-DF460E252CDA.png
這個就是本來的圖片大小,然后如果你不用UIView來初始化UIButtonItem,就會導致這樣的后果
917891E7-5DF3-4825-8DA0-5F3560EFF548.png