View Tag 要注意

前几天遇到一个奇怪的bug,视图A中有一个 PageControl 控件,每当通过 NavigationController 将B视图 push 进去后,再回到A视图时发现 PageControl 控件就消失了。经过调试发现其已经被释放了。后来在一篇博客(【博客A】)中找到了灵感。

原因是我导航栏上的BarButton是自定义的,并设置了tag为1,当视图切换时通过viewWithTag找到它并将其从父视图中删除,但是在xib文件中不小心将PageControl控件的tag也设置为了1,结果导致先viewWithTag先找到了PageControl。使用tag时稍不留神可能就重复了,因此我建议将需要用到的tag都定义为常量放在统一的地方,在代码中使用这些常量而不是直接赋值数字。这样可以方便管理并避免重复。

另外【博客A】中建议tag设置较大的值,较小值是可能是系统保留使用,我在官方API中简单找了一下,并未找到相关说明,保险起见还是从较大值开始使用吧,我从101开始使用。


参考:

【博客A】:http://blog.csdn.net/smking/article/details/8590547


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值