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을 사용하고 있습니다. 당신은 이것을 할 수 없습니다. 스택 오버플로에 대한 다른 질문은 수백 가지가 있으므로 스택 오버플로에서 답변을 찾을 수 있어야합니다. – Fogmeister

답변

0

실제로 프레임을 구성하는 가장 좋은 방법은 아닙니다.

이 일하여 코드를 바꿉니다 : 당신의 클래스의 UIViewController의 서브 클래스 인 경우

[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; 
}]; 

이 또한 확인합니다.

관련 문제