2012-01-16 46 views
5

我有一个元素,需要像UIButton行为,但它有几个(3)文本标签一次可见和多个UIImages在同一个边界框。这是一个真正的视图,其中有许多不同的其他UIViews和标签,它们需要看起来像一个按钮,但是比标准的UIButton具有更多的自定义这些元素的位置。UIButton的子类还是继承自UIControl?

从UIButton继承来完成这个还是UIControl是从继承的呢?

当点击元素时,我确实想要模仿所有的高亮效果(如果是UILabel,显示高亮文本的颜色等)。

回答

2

只要你的按钮内容的哪个部分被轻敲来激活它的功能并不重要,你可以组成一个UIButton以及你需要的所有UILabel,UIImageViews。

你可以很容易地从UIView继承,将上面的所有内容放在里面,并将你的透明UIButton放在所有事物的顶部,以获得你需要的事件(将你自己设置为该按钮的目标并实现一些委托来通知选择) 。

+0

我需要确保子元素全部在轻敲事件进入时显示正确的突出显示颜色。 – 2012-01-16 18:04:41

+0

您可以让您的UIButton在'UIControlEventTouchDown'和'UIControlEventTouchUpInside'上通知您,以了解何时应该突出显示并处理它时间。 – 2012-01-16 18:17:26

+6

在“放置透明UIButton”时,这是一种可怕的方法,因为现在您无法获得开箱即用的可访问性。可能你甚至不会考虑解决这个问题。不要在其他东西上叠加按钮来获得这种效果。 – Daniel 2016-02-03 10:55:29