我覆蓋了子類,它拒絕調用touchesShouldCancelInContentView。我發誓我已經寫了代碼來做到這一點。我正在覆蓋該類,以便某些視圖不會將觸摸事件傳遞到滾動視圖。touchesShouldCancelInContentView不被稱爲
隨着類
@interface SlidingWindowScrollView : UIScrollView
{
UIView* noTouchView;
}
@property (nonatomic, retain) UIView* noTouchView;
@end
和實現
@implementation SlidingWindowScrollView
@synthesize noTouchView;
- (BOOL)touchesShouldCancelInContentView:(UIView *)view
{
BOOL shouldCancel = NO;
if(view == noTouchView)
shouldCancel = YES;
NSLog(@"shouldCancel %d", shouldCancel);
return shouldCancel;
}
@end
在我扔下一個滾動視圖和裏面一個UIView,寫這在VC視圖做負載的廈門國際銀行。
scrollView.contentSize = CGSizeMake(scrollView.bounds.size.width*2,
scrollView.bounds.size.height);
scrollView.pagingEnabled = YES;
scrollView.canCancelContentTouches = YES;
contentView.frame = CGRectMake(scrollView.frame.size.width + 20,
0,
scrollView.frame.size.width,
scrollView.frame.size.height);
contentView.userInteractionEnabled = YES;
scrollView.noTouchView = contentView;
[scrollView setContentOffset:CGPointMake(scrollView.bounds.size.width, 0) animated:YES];
我不知道給了什麼。這應該是一個簡單的覆蓋。我確信XIB中的自定義類是正確的,並且網點都表示它是我的UIScrollView的新子類。我不是故意放肆但在最新的iOS API中做了些什麼?這看起來應該很容易,但它從來沒有調用touchesShouldCancelInContentView函數。我很困惑。我非常感謝有人可以證明我錯了,並得到這個函數被scrollView調用。我想應該注意的是,打印語句確實打印出來了,但它可以始終如一地完成
如果你能在你的機器上正常工作,請讓我知道,因爲我沒有看到任何錯誤。這讓我瘋狂@ _ @希望有人能幫助我。謝謝。
我想應該指出,我試圖覆蓋touchesBegan成功和touchesShouldBegin的作品,但它只觸發時觸摸釋放這是違背文檔說什麼是「被子類覆蓋自定義默認行爲時手指觸摸向下顯示的內容。「 – Biclops
也在模擬器中運行,僅供參考。 – Biclops