iOS中的“可点击”区域应该是按钮还是可以使用通用UIView,UIImage等?iOS中的“可点击”区域应该是按钮吗?
假设我有一段带有图标,边框,阴影等的文字。它看起来像一个双板。什么是最好的实施方式?使用一个自定义的UIButton,只需添加子视图或创建一个通用的UIView?
任何想法赞赏!
iOS中的“可点击”区域应该是按钮还是可以使用通用UIView,UIImage等?iOS中的“可点击”区域应该是按钮吗?
假设我有一段带有图标,边框,阴影等的文字。它看起来像一个双板。什么是最好的实施方式?使用一个自定义的UIButton,只需添加子视图或创建一个通用的UIView?
任何想法赞赏!
如果目标区域足够大,可以在可点击视图的顶部放置一个透明的UIButton(将按钮类型切换为自定义,但不提供图像)以拦截点击。
可能对于包含多个子视图的视图,您希望使用UIView
子类。虽然UIButton
可以用于添加视图,状态更改,启用/禁用可能会对整个视图(包括子视图)产生不可思议的效果。使用你自己的UIView
子类将确保显示的内容不会受到任何状态变化的影响,给你完全的控制权。您可以覆盖
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
拦截您的自定义视图上的触摸。如果你要这样做,请记住userInteractionEnabled字段必须设置为true。
附加说明:您提到阴影是您问题中的一个元素。如果你使用CALayer
来做到这一点,绝对是避免使用UIButton,因为它是处理不同状态的一组图层,相当复杂。
太棒了。捕捉事件的原始流程!数字。 – sova