【发布时间】:2014-10-27 10:30:54
【问题描述】:
当用户开始拖动滚动视图时,我尝试在延迟后调用方法。
下面的这个块被调用,但是这个 performselector 中定义的动作:只有当我停止拖动滚动视图时才被调用
- (void)viewDidLoad {
[super viewDidLoad];
UIScrollView *sv = [[UIScrollView alloc] initWithFrame:self.view.frame];
sv.delegate = self;
sv.backgroundColor = [UIColor redColor];
[sv setContentSize:CGSizeMake(1000, 200)];
[self.view addSubview:sv];
}
-(void)scrollViewWillBeginDragging:(UIScrollView *)scrollView
{
NSLog(@"hey");
[self performSelector:@selector(myAction) withObject:nil afterDelay:3];
}
- (void)myAction
{
NSLog(@"Called 3secondes after begin dragging");
}
我也尝试使用 NSTimer 并在后台线程中,但问题是一样的......
有什么想法吗?
【问题讨论】:
-
好吧,我刚试过,它对我有用。您确定代表设置正确吗?或者你的函数“myAction”不带参数?
-
是的,我确定在“scrollViewDidEndDragging”时调用了“MyAction”……我知道这很奇怪。
-
我刚刚尝试了一个空项目,我遇到了同样的问题:只有在我结束拖动时才调用“MyAction”
标签: objective-c scrollview delay uiscrollviewdelegate performselector