1

有兩種視圖。在UIView下縮放UIScrollView,接收觸摸

第一個是放置視圖的UIScrollView
第二個是可以處理水龍頭的UIView

兩個視圖都附加了手勢識別器。

問題是,即使所有手勢識別器都關閉,滾動視圖將不會縮放,直到我完全刪除上面的視圖(或將其設置爲userInteractionEnabled = NO)。那麼如何通過觸摸來滾動視圖而不會丟失其他識別器呢?

回答

2

我只是添加滾動的手勢識別該自定義視圖

@implementation CustomView 

- (void)overridePinchForScroll:(UIScrollView *)scroll 
{ 
    [self addGestureRecognizer:scroll.panGestureRecognizer]; 
    [self addGestureRecognizer:scroll.pinchGestureRecognizer]; 
} 

@end 

Note.您應該添加兩個平移和縮放手勢識別,因爲如果只添加一掐識別器,它會引發錯誤:

Ignoring call to [UIPanGestureRecognizer setTranslation:inView:] since gesture recognizer is not active.

,當然,這樣你仍然能夠拖動縮放的內容。