проблема в анимации просмотра в iphone SDK? - PullRequest
0 голосов
/ 24 июня 2011

Я анимирую вид, показывая и скрывая вид.Я вызываю этот метод в didSelectRow.Когда я нажимаю на ячейку, я хочу скрыть вид, а затем хочу показать вид.Но моя проблема в том, что анимация происходит из hide, чтобы показать , но когда не из show, чтобы скрыть.Шоу для сокрытия происходит внезапно, нет плавной анимации.Я этот код.

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 

{   

    //[tableView deselectRowAtIndexPath:indexPath animated:YES];
     Song *songObj = [songsList objectAtIndex:indexPath.row];
        [self hideMsg];
    //int delay = 20;
    //[self performSelector:@selector(hideMsg) withObject:nil afterDelay:delay];
    [self showTitleWithOptions:songObj];


}

- (void)hideMsg;

{

    CGRect frame = animatedSubView.frame;//CGRectMake(0,415,360,55)

    [UIView beginAnimations:nil context:NULL];
    [UIView setAnimationDuration:75];

    frame.origin.y = 480;// here I'm changing y to 480
    animatedSubView.frame = frame;

    [UIView commitAnimations];


    frame = animatedSubView.frame;// now frame is CGRectMake(0,480,360,55)
    [UIView beginAnimations:nil context:NULL];
    [UIView setAnimationDuration:.75];

    frame.origin.y = 415;//now I'm changing y to 415
    animatedSubView.frame = frame;
    [UIView commitAnimations];
    theTableView.frame =CGRectMake(0,230,320,190);


}

Ответы [ 2 ]

1 голос
/ 17 октября 2012

может быть, вы можете скрыть представление или задать альфа 0.0 во время его анимации, и в текущем представлении выполнить действие кнопки, когда вы щелкнете по нему, чтобы скрыть текущий вид или дать альфа 1.0 вместе с uianimation.

0 голосов
/ 24 июня 2011

Кажется, вам не хватает. перед значением 75 в первом блоке кода анимации "[UIView setAnimationDuration: 75];" увидеть ваш код снова.

Обновление

Вы не можете запустить две анимации одновременно, вам нужно подождать, пока закончится первая, которая является вашей главной проблемой. Попробуйте запустить вторую анимацию после 0,75 длительности, используя

[self performSelector: withObject: afterDelay:];

способ. * * +1010

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