今天在写代码的时候,发现UIBarButtonItem的一些小知识点没有掌握,在这边进行记录
UIBarButtonItem的应用场景
当我们需要设置控制器的导航栏内容的时候一般都会涉及到UIBarButtonItem,navigateItem中有leftBarButtonItem
和rightBarButtonItem
两个属性,分别用来设置左右两侧的导航条内容,通常情况下可以为其设置文字和图片,响应点击的target和响应点击的函数等内容,当然也可以使用一个自定义的view作为其内容,使用self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc]initWithCustomView:lview];
进行设置。
自定义View的小坑
使用自定义view设置UIBarButtonItem的时候,我发现了一个小坑,就是点击的范围被扩大了,这样的结果就是当用户不小心点击按钮旁边的时候也会触发点击的效果,用户体验就不好了,如何解决这样的问题呢?
解决的方案就是使用一个view包裹自定义的button作为一个整体设置为UIBarButtonItem的内容,这样就可以达到我们理想的效果
一些好的习惯
一般情况下,我们需要设置左右两边的BarButtonItem,这样的情况下,为系统的UIBarButtonItem设置一个分类,创建一个类方法是非常合理的做法
如:
+ (instancetype)buttonWithImage:(UIImage*)image highlightedImage:(UIImage*)highlightedImage target:(nullable id)target action:(nullable SEL)action;
这样就可以快速的对左右两边的UIBarButtonItem进行设置了