iOS title view不居中的处理办法
来源:互联网 发布:北京网络职业学院搬迁 编辑:程序博客网 时间:2024/05/22 16:57
这篇文章没有代码,但相信看完之后您就会轻松的解决您所遇到的问题。
做iOS开发的朋友们可能会遇到自定义导航栏上的left item,right item和title的情况,这种情况下容易出现一个问题,就是title不居中。
在我解决此问题之前也在网上搜了很多次,但是一直没有遇到比较好的解决办法,因为几乎所有的楼主都是说,拿屏幕宽度减去这个,再减去那个,这种方法简直傻子都能想出来,所以参考意义不大。
本文旨在给大家介绍一个比较通用的解决方法。
首先,说一下title不居中的原因。
其实title不居中的原因很简单,左右item的宽度不相等了呗。由此导致它们挤压了title view的位置,又因为title view的frame不好人为去控制,而文本设置的是居中显示的,由此导致title不居中。
知道了原因,仔细思考一下,解决方式也就一目了然了。既然左右item的宽度不等是造成title不居中援引,那么要想通用、彻底的解决这个问题,自然还得从item的宽度入手。
也许你会问,设计标的left item的宽度是150px,right item是80px,我能怎么办?
其实很好办,关于这个,你要了解的只有一个知识点,那就是父视图的作用。
很多人认为父视图的作用就是作为子视图的target或delegate,来处理子视图的各种事件,这是很常见的。
另外一点很重要但是很容易被忽略的是,它约束了子视图的响应范围,如果其clipsToBounds设置为YES,则其还约束了子视图的显示范围。
看到这里你会不会恍然大悟?
其实如果遇到上面的假设情况,只需将自定义的左右item最底层视图的宽度设置为相等,用其子视图的fram根据设计的frame作为显示,这样就可以轻松解决title不居中的问题了。
也许你会问,这样虽然解决了问题,但是左右item可能出现可见区域不响应事件,这个问题怎么解决?如果作为其他视图,倒是也能解决,通过重写这个自定义控件父类的- (UIView )hitTest:(CGPoint)point withEvent:(UIEvent )event方法,但是在这里,这就是个几乎不能解决的问题,所以在有更好的解决方案之前,只能退而求其次了。
如果您有更好的处理方法,希望能让我有所了解。谢谢
- iOS title view不居中的处理办法
- iOS 导航栏Title不居中
- iOS 导航栏Title不居中
- NavigationItem的Title不居中,BackButton修改它得title
- 解决微信title不生效的办法
- iOS Button title换行居中。
- 不固定宽度的元素居中的办法
- goagent不能用的处理办法(timeout)
- iOS项目开发中 webView 服务器返回来一堆不标准的html 语言 处理办法
- 关于iOS配置ipv6和ipv4地址不同时的处理办法
- IOS Button title居中实现方法实例
- 隐藏状态栏 view不自动上调解决的办法
- iOS-关于UINavigationController的title不显示问题
- iOS-关于UINavigationController的title不显示问题
- iOS-随心所欲控制button内image view和title view的位置
- ios动态修改title无效的处理方式
- iOS touchID 处理办法
- iOS Crash 处理办法
- matlab_syms+eval
- 常用控件
- 8.20 北校 复习
- C/C++的变量生存期和作用域
- solr全文检索
- iOS title view不居中的处理办法
- 167. Two Sum II
- Android和js交互
- Android 程序多语言国际化
- Zookeeper分成多组注册中心
- 通过创建方法,减少不同浏览器通过JS设置样式时的重复书写
- Linux环境获取系统配置信息
- The Tower of Babylon (DAG最长路算法模板)
- Java帝国之宫廷内斗