好了,我都爲這個問題,但沒有一個現有的解決方案的研究似乎沒有解決我的問題,所以在這裏它是:問題時scrollViewDidScroll,但不UIScrollViewDelegate的所有其他方法
- 我有一個擴展的UIScrollView(幷包含一個UIView)
- 我想覆蓋從UIScrollViewDelegate的scrollViewDidScroll方法的自定義類(但不是所有的方法)
我已經嘗試實現從這個代碼問題:How to subclass UIScrollView and make the delegate property private但由於某種原因,它不會執行任何操作(被覆蓋的自定義方法永遠不會被調用)。我也知道,你沒有,如果你創建一個實現協議(根據iPhone: Do I need to implement all methods for UIScrollViewDelegate (or any delegate))自定義委託類來實現所有的UIScrollViewDelegate方法 - 但是當我這樣做:
MyScrollViewDelegate.h
@interface MyScrollViewDelegate: NSObject <UIScrollViewDelegate>
-(void)scrollViewDidScroll:(UIScrollView *)scrollView;
@end
MyScrollViewDelegate.m
@implementation MyScrollViewDelegate
-(void)scrollViewDidScroll:(UIScrollView *)scrollView
{
NSLog(@"Custom scrollViewDidScroll called.");
// -- some more custom code here --
// ...
}
@end
在其延伸UIScroll子類查看
// this scrollview is initiated by the NIB
- (void)awakeFromNib
{
...
[self setDelegate:[[MyScrollViewDelegate alloc] init]];
}
但是,儘管編譯和運行,當我嘗試滾動滾動視圖,它與EXC_BAD_ACCESS和一個神祕的「(LLDB)」在調試控制檯消息崩潰。
所以我在這裏有點不知所措。
非常感謝!讓我順便說一句試試這個...... – 2012-04-11 23:42:38
,我沒設置contentSize至大於整體的UIScrollView對象的視圖邊界(至少垂直 - 水平,我認爲大小是一樣的)。 – 2012-04-11 23:47:17
太棒了!這工作!就在兩個意見: – 2012-04-11 23:57:52