2012-01-16 79 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