好了,我都为这个问题,但没有一个现有的解决方案的研究似乎没有解决我的问题,所以在这里它是:问题时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