Я пытаюсь вызвать метод после задержки, когда пользователь начинает перетаскивать scrollView.performSelector: afterdelay никогда не вызывался в scrollViewWillBeginDragging
Этот блок ниже называется, но действие определяют в этом performselector: вызывается только тогда, когда я останавливаюсь, чтобы перетащить Scrollview
- (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» не принимает параметр? –
Да, я уверен, что причина «MyAction» вызывается, когда «scrollViewDidEndDragging» .. Я знаю, что это очень странно. –
Я только что попробовал с пустым проектом, и у меня такая же проблема: «MyAction» вызывается только тогда, когда я заканчиваю перетаскивание –