iOS-iOS11设置导航条的navigationItem.titleView

在iOS 11中titleView的宽度设置了没有效果,也没有拉伸展示,只是图片缩在一起了。打开Xcode发现,在iOS 11 中苹果改变了UINavigationBar的视图层级,titleView不是加到NavigationBar上,而是加到了UINavigationBarContentView上。

解决办法:

在你自定义的titleView中重写intrinsicContentSize 的Get 方法,OC代码:

- (CGSize)intrinsicContentSize{
    return UILayoutFittingExpandedSize;
}

Swift代码:

class NavBar:UIView{    
    overridevar intrinsicContentSize:CGSize{        
        return UILayoutFittingExpandedSize    
    }    
}

 

你可能感兴趣的:(iOS-OC)