2017-08-24 95 views
1

我使用一個小圖標作爲UIbutton的圖像。我想增加圖標的命中區域,這樣IBaction就會被調用,而不需要精確點擊小圖標。我在這裏發現了類似的問題,解決方法是調整插入內容,但這似乎不適用於我,但命中區域仍然相同。增加一個按鈕的命中區域

smallButton.imageEdgeInsets = UIEdgeInsets(top: -100.0, left: -100.0,bottom: -100.0, right: -100.0) 

smallButton.contentEdgeInsets = UIEdgeInsets(top: -100.0, left: -100.0, bottom: -100.0, right: -100.0) 
+0

增加按鈕的大小的寬度雙圖像圖標 –

+0

https://stackoverflow.com/questions/42181550/how-can-i-expand-the-hit-area-of-a-specific-uibutton的-in-swift https://stackoverflow.com/questions/31056703/how-can-i-increase-the-tap-area-for-uibutton –

回答

2

你可以繼承UIButton的或定製的UIView和覆蓋點(內:喜歡的東西與:):

斯威夫特3

override func point(inside point: CGPoint, with _: UIEvent?) -> Bool { 
    let margin: CGFloat = 5 
    let area = self.bounds.insetBy(dx: -margin, dy: -margin) 
    return area.contains(point) 
} 
0

增加按鈕的高度和寬度。如果這不適合你。

您可以爲它製作相同的按鈕,它可以是沒有標題的清晰顏色,並且尺寸是前一個按鈕的兩倍。然後連接那個按鈕和前一個的IBAction。

注意:確保新按鈕位於上一個按鈕的前面。

0

一個簡單但工作的方式是在這個小圖像上方設置一個按鈕。 enter image description here