2014-12-11 5 views
0

Я хочу анимировать UIView одновременно. Но мой UIView не анимирован. Сторона над кругом. Но мой UITableView не анимирован.TableView не анимирует

[self.view addSubview:sideview]; 
[sidevieww setHidden:NO]; 

[UIView animateWithDuration:0.3 animations:^{ 
    [sidevieww setFrame:CGRectMake(0, 0, sidevieww.frame.size.width, sidevieww.frame.size.height)]; 

    [mytable setFrame:CGRectMake(240,mytable.frame.origin.y,mytable.frame.size.width,mytable.frame.size.height)]; 
    [mynav setFrame:CGRectMake(240,mynav.frame.origin.y,mynav.frame.size.width,mynav.frame.size.height)]; 
    [mybutton setFrame:CGRectMake(240, mybutton.frame.origin.y, mybutton.frame.size.width, mybutton.frame.size.height)]; 

} completion:^(BOOL finished) { 
    sideview =true; 
}]; 
+0

Увеличение времени 'animateWithDuration' до 1,5. – Kampai

+0

не работает ...... – user3651677

+0

Вы используете AutoLayout. Вы не можете этого сделать. В Stack Overflow есть сотни других вопросов, поэтому вы можете найти ответ от них. – Fogmeister

ответ

0

Это действительно не лучший способ настроить фрейм.

Замените код на этот:

[self.view addsubview:sideview]; 

    [sidevieww setHidden:NO]; 

    CGRect frameSideVieww = sidevieww.frame; 
    frameSideVieww.origin.x = frameSideVieww.origin.y = 0; 

    CGRect frameMyTable = mytable.frame; 
    frameMyTable.origin.x = 240; 

    CGRect frameMyNav = mynav.frame; 
    frameMyNav.origin.x = 240; 

    CGRect frameMyButton = mybutton.frame; 
    mybutton.origin.x = 240; 

[UIView animateWithDuration:0.3 animations:^{ 
    [sidevieww setFrame:frameSideVieww]; 
    [mytable setFrame:frameMyTable]; 
    [mynav setFrame:frameMyNav]; 
    [mybutton setFrame:frameMyButton]; 
}completion:^(BOOL finished) { 
    sideview =true; 
}]; 

Кроме того, проверьте, если ваш класс подкласс UIViewController.

Смежные вопросы