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的导航栏的图层变了

ios11导航栏左侧返回按钮适配_第1张图片
9C87E378-ADCB-4115-9397-896229C09DC4.png

你添加的左侧按钮现在到了这个里面了,不是zhi'q之前的,之前的没截图我也不知道到底在哪,反正不是一样的

ios11导航栏左侧返回按钮适配_第2张图片
F8C37030-7336-4FF3-9909-49B0F2A955AA.png

不止会导致点击区域的变化 还会导致你设置的图片会被变大
大概是这样
原图


ios11导航栏左侧返回按钮适配_第3张图片
A2D938F4-AA23-4DA7-8F2D-DF460E252CDA.png

这个就是本来的图片大小,然后如果你不用UIView来初始化UIButtonItem,就会导致这样的后果


ios11导航栏左侧返回按钮适配_第4张图片
917891E7-5DF3-4825-8DA0-5F3560EFF548.png

你可能感兴趣的:(ios11导航栏左侧返回按钮适配)