как проверить вращение кнопки - PullRequest
0 голосов
/ 08 марта 2011

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

[UIView beginAnimations:nil context:nil];

    [UIView setAnimationDuration:.5];

    btn.transform=CGAffineTransformMakeRotation((0.0174532925)*90);

    //put the -ve sign before 30 if you want to rotate the button in the anticlockwise else use this one 

    [UIView commitAnimations];
    selectedRow=btn.tag;
    [self.tableView reloadData];

Я хочу перезагрузить таблицу после завершения анимации, как я могу это сделать?

1 Ответ

3 голосов
/ 08 марта 2011
[UIView beginAnimations:@"rotateButton" context:nil];
[UIView setAnimationDuration:.5];
[UIView setAnimationDelegate:self];
[UIView setAnimationDidStopSelector:@selector(myAnimDidStop:finished:context:)];
btn.transform = CGAffineTransformMakeRotation((0.0174532925)*90);
[UIView commitAnimations];
selectedRow = btn.tag;

Метод делегата будет выглядеть следующим образом:

- (void)myAnimDidStop:(NSString *)animID finished:(BOOL)finished context:(void*)ctx {
    if ([@"rotateButton" isEqualToString:animID]) {
        [self.tableView reloadData];
    }
}

Обратите внимание, что если вы ориентируетесь на iOS 4 и новее, вы можете использовать блоки анимации:

[UIView animateWithDuration:0.5 
                 animations:^{ 
                     btn.transform = CGAffineTransformMakeRotation((0.0174532925)*90);
                     selectedRow = btn.tag;
                 } 
                 completion:^(BOOL finished) { 
                     [self.tableView reloadData]; 
                 }];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...