美文网首页
ios 自定义系统导航栏TitleView

ios 自定义系统导航栏TitleView

作者: GK天涯 | 来源:发表于2021-07-06 15:48 被阅读0次

新建一个类TYView继承于UIView,布局要添加的控件。初始化TYView,创建对象view,然后[self.navigationItem setTitleView:view]; 。view的大小会根据导航栏左右两端的按钮数量变化,始终是自动居中布局,距离左右两边的距离相等。用的是initWithFrame方法初始化View。
1、改变view距离左边按钮的位置(居左展示)。
初始化时设置view的translatesAutoresizingMaskIntoConstraints为NO,此属性默认是YES,然后在TYView.m里面添加下面方法就可以居左显示:
- (CGSize)intrinsicContentSize{
return CGSizeMake(240, 44);//自行更改,240可以根据左右两边的按钮数量计算得到,随意修改。
}
2、自定的View会在多处使用时,有的页面不想居左显示,就不用在初始化时设置translatesAutoresizingMaskIntoConstraints为NO,当translatesAutoresizingMaskIntoConstraints为YES时不会调用- (CGSize)intrinsicContentSize 方法。titleView还是居中状态。

相关文章

网友评论

      本文标题:ios 自定义系统导航栏TitleView

      本文链接:https://www.haomeiwen.com/subject/waegultx.html