3
我正在嘗試減少UIButton的觸摸面積。這甚至有可能嗎?當用戶觸摸按鈕並將觸摸拖到按鈕外部時,觸摸事件應該在按鈕圖形結束時立即停止。不幸的是該區域比實際的圖形大得多。我發現了很多關於如何增加面積的事情,但沒有找到如何縮小面積的方法。減少UIButton的觸摸面積
感謝您的幫助。
我正在嘗試減少UIButton的觸摸面積。這甚至有可能嗎?當用戶觸摸按鈕並將觸摸拖到按鈕外部時,觸摸事件應該在按鈕圖形結束時立即停止。不幸的是該區域比實際的圖形大得多。我發現了很多關於如何增加面積的事情,但沒有找到如何縮小面積的方法。減少UIButton的觸摸面積
感謝您的幫助。
我想出了一個解決方案。您可以繼承UIButton
並覆蓋touchesMoved:
,以便它可以識別觸摸在按鈕外部時會結束。這是我的片段。
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch * touch = [touches anyObject];
CGPoint touchPoint = [touch locationInView:self];
if(!CGRectContainsPoint(self.bounds, touchPoint))
{
[super touchesEnded:touches withEvent:event];
}
else
{
[super touchesMoved:touches withEvent:event];
}
}
這樣做的缺點是,如果您離開按鈕並再次返回,按鈕將不會激活。但除此之外,我認爲它應該可以正常工作。
謝謝。這有幫助。 – palme
爲什麼不改變按鈕的大小以匹配圖形的大小? – barley
@barley我認爲他想說的是,即使按鈕和圖形大小相同,當您單擊按鈕並向外拖動時,按鈕不會被壓低,直到您離開一定距離。他希望馬上降下來。 – yuf
@yuf感謝您的解釋。這聽起來像一個有趣的挑戰:) – barley