UINavigationItem的titleView的frame问题

    首先简单介绍我遇到的问题:自定义titleView,里面有一些label,显示内容需要请求网络获得,于是就出现了加载titleView比较晚(页面已经显示,才开始设置titleView)的情况,发现这种情况下titleView的位置会变化。

    下面代码是苹果对titleView的API定义:

@property(nonatomic,retain) UIView          *titleView;         // Custom view to use in lieu of a title. May be sized horizontally. Only used when item is topmost on the stack.

  根据api定义,它会在水平方向调整尺寸。但是我监听titleView的frame后发现,不管你设置titleView的frame是多少,系统会重新调整它的orgin,x和y都会调整,也就是说不光是水平方向,但是不会改变宽高。  

  经测试,这个调整动作会在设置titleView后很快的时间里执行,如果不是因为有网络请求的过程,它会在页面展现之前完成,所以这种情况下,你怎么设置frame都不会出现问题。


   结论:在vc加载过程中(loadView或viewdidload)就设置好titleView,然后根据网络请求的结果再去更新titleView中的展示内容,这样就不会让用户看到titleView的位置移动了。


(上面推理,根据代码监听titleView进行的,如果有什么地方不对,还望大牛指出)

转载于:https://my.oschina.net/u/1473377/blog/413161

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值