повторить код во время нажатия UIImageView - PullRequest
0 голосов
/ 09 июня 2009

Я хочу иметь возможность повторять код внутри моего кода touchBegan, который активируется, когда вы щелкаете UIImageView, но не повторяется, пока ваш палец не работает ... Как мне сделать это, пока мой палец нажимает на UIImageView, он повторяется.

Ответы [ 3 ]

2 голосов
/ 09 июня 2009

Видя ваше разъяснение, я думаю, вы хотите что-то подобное. Это будет вызывать метод timerFired: каждые PERIOD секунды, пока палец не нажат.

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
    // timer is an ivar...
    timer = [[NSTimer scheduledTimerWithTimeInterval:PERIOD
                                              target:self
                                            selector:@selector(timerFired:)
                                            userInfo:nil
                                             repeats:YES]
             retain];
}

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
    [timer invalidate];
    [timer release];
    timer = nil;
}

- (void)timerFired:(NSTimer *)theTimer
{
    // do stuff
}
0 голосов
/ 09 июня 2009

Вы можете отслеживать, получило ли ваше представление событие touchBegan без соответствующего touchEnded. Если это так, вы можете сделать вывод, что сейчас происходит касание, и продолжить выполнение кода. Например:

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
    self.touchInProgress = YES; // Assuming you have some property touchInProgress
    [self runSomeCode];
}

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
    self.touchInProgress = NO;
}

- (void)runSomeCode {
    // Do your code here

    if(self.touchInProgress) {
        [self runSomeCode]
    }
}

В этом примере не учитывается ряд вещей, включая метод touchesCancelled и соответствующие потоки (если вы всегда запускаете «некоторый код», я не уверен, но вы можете никогда не получить touchesEnded метод для запуска - играйте с performSelector:afterDelay: или performSelectorInBackground:).

0 голосов
/ 09 июня 2009

О, я должен сказать, что он закручен ... Я "хочу", чтобы код повторялся, пока кнопка нажата "Вниз", и когда пользователь убирает палец с кнопки, код перестает работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...