ios11導航欄左側返回按鈕適配

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
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容