Покажите изображение в течение 1 секунды на представлении - PullRequest
0 голосов
/ 13 марта 2012

Что я хочу понять, это:

Когда я нажимаю кнопку, изображение отображается на экране в течение 1 секунды, затем изображение исчезает.

Я знаю, что NSTimer поможет, но я не знаю, как написать правильный код ... нужна ваша помощь, спасибо.

- (IBAction)bodytouched:(id)sender {  
bodytouchedimage.hidden = NO;
    bodytouchedimage = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"beated.jpg"]];
    bodytouchedimage.userInteractionEnabled = YES;
    timer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(showPictures:) userInfo:nil repeats:NO];
}


- (void)showPictures:(NSTimer *)timer {     
bodytouchedimage.hidden = YES;
}

Ответы [ 2 ]

3 голосов
/ 13 марта 2012

Вам нужно вызвать функцию showPictures, когда вы дотронетесь до кнопки, а затем в методе showPictures добавите NSTimer, который будет вызывать метод hidePictures через 1 секунду

- (void)showPictures 
{
    bodytouchedimage.hidden = NO;
    [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(hidePictures) userInfo:nil repeats:NO];
}

- (void)hidePictures
{
    bodytouchedimage.hidden = YES;
}
1 голос
/ 13 марта 2012

Вместо использования NSTimer было бы проще просто вызвать ваш метод, чтобы скрыть изображение, например:

- (IBAction)bodytouched:(id)sender {  
bodytouchedimage.hidden = NO;
    bodytouchedimage = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"beated.jpg"]];
    bodytouchedimage.userInteractionEnabled = YES;
    [self performSelector:@selector(hidePicture) withObject:nil afterDelay:1];
}


- (void)hidePicture {     
bodytouchedimage.hidden = YES;
}

executeSelector: withObject: afterDelay: является методом класса NSObject.

...