好的,我遇到了一個非常奇怪的問題(對我來說)。在我看來,我有一個150x150的按鈕,並且我已經爲該按鈕添加了一個UILongPressGestureRecognizer
,因爲我需要在按下按鈕時按下該按鈕。我的代碼,這樣做看起來是這樣的:當按鈕在普通視圖試圖獲得觸點,返回NaN
-(CGPoint)detectedTouch:(UILongPressGestureRecognizer *)sender {
CGPoint touchPoint = [sender locationInView:button];
return touchPoint;
}
-(void)myAction {
CGPoint touchPoint = [self detectedTouch:myGestureRecognizer];
NSLog(@"touchPoint = %f, %f", touchPoint.x, touchPoint.y);
//do stuff
}
現在一切都工作得很好。但是,當按鈕在scrollView上時,它只有在你按下約一秒鐘時纔有效。如果你釋放得太快,日誌會給我這個:
touchPoint = nan, nan
任何幫助解決這個問題將不勝感激!
好的,謝謝你,但不知何故我的問題與scrollView有關。獲取觸點的要點是以不同的方式製作按鈕的動畫,具體取決於您觸摸的位置。爲了測試,我刪除了檢查觸摸位置的部分,並在按下按鈕時使按鈕向下移動並在不再按下時將其移回原始位置。在常規視圖中,它按預期工作,但在scrollView上它只能在延遲之後(如上所述)工作,並且動畫不流暢。有任何想法嗎? – kopproduction