2012-10-03 3 views
1

나는 UITableView를 모달로 제시하고 해제해야한다. 애니메이션은 위에서 아래로 움직여야합니다. 하지만 전체 화면을 덮어서는 안되며, 탐색 바 아래에서 들여와 탭바에 도달하기 전에 멈 춥니 다.움직이는 모달 UIView 숨기기?

그래서보기 컨트롤러에 presentViewController:animated:completion:을 사용할 수 없습니다. 뷰 계층 구조의 일부로이를 조작해야합니다. 문제는이 표보기가 표시되지 않을 때 어디에 표시해야하는지입니다. 어디서부터 움직일 것인가?

답변

1

UIView 내에 UITableView를 놓고 animateWithDuration을 사용할 수 있습니다.

[subMenuView setFrame:CGRectMake(5,-400, 310, 400)]; 

[UIView animateWithDuration:0.8f 
         delay:0.0f 
        options:UIViewAnimationOptionTransitionCurlDown 
       animations:^{ 
        [subMenuView setFrame:CGRectMake(5,0,310,400)]; 
       } 
       completion:^ (BOOL finished) 
       { 
        if (finished) 
        { 
         //animation has finished, you can do something here, even another nested animation 
        } 
       }]; 

그런 다음 반대 할, 다시 밀어하려면 ...

+0

jQuery과의 UIView에서 상속, 그래서 생각 것, 그것은에 애니메이션을 적용 할 수 있습니다 : 예를 들어 (일부 만들어 치수를 사용) 그 자체. Ceteris paribus는 다른보기에 그것을 포함 할 필요가 없습니다. 내 관심사는 부정적인 차원에서 숨기는 것이 더 중요합니다. -/ –

+0

당신은 UIView가 필요없고, 조직 목적을 위해 더 많이 생각하고 있었지만 부정적인 차원에서 숨기는 것이 일반적으로 좋은 방법이라고 생각합니다. 항상 네거티브 차원으로 가져올 수 있습니다. 나는 다른 것을 숨기는 더 좋은 방법을 모른다. setHidden b. 음수 치수 – boostedz06

관련 문제