2012-05-24 4 views
3

iPad 세로 모드에서 화면 절반을 덮는 UITableView가 있습니다. 클릭 할 때마다 전체 화면을 덮기 위해 tableview의 수퍼 뷰의 프레임을 계산하고 애니메이션하는 버튼을 확장하면 스크롤이 매우 복잡 해지고 한 행으로 깜박 거립니다. 특히 바운스 애니메이션이 오래 걸리는 것 같습니다. TableView는 자동 크기 조정으로 가면 처리됩니다. superview의 프레임을 복원하면 tableview 스크롤이 다시 부드럽게됩니다. tableview의 초기 프레임과 스크롤 속도 사이에 어떤 관계가 있습니까? 이런 종류의 행동에 대한 가능한 근본 원인은 무엇입니까?프레임 크기 재조정 후 UITableView 스크롤 속도

+1

시나리오를 이해하고 있지만 테이블보기에서 영상 효과를 애니메이트 할 때 이상한 행동을 보았 기 때문에 +1 투표를했습니다. 내 불행한 해결책은 애니메이션을 자르고 바로 UI 업데이트를 선택하는 것이 었습니다. 난 당신이 같은 일을 제안하지는 않지만 왜 UITableView 크기 또는 (내 경우에는) 팝 - 오버보기에서 전환하기 어려울 수 있습니다 궁금 해서요. – RLH

답변

0

아마 당신이 cellForRowAtIndexPath 메서드 안에 크기를 삽입하여 스크롤 할 때마다 크기 tableview를 설정합니다. 이 코드 스 니펫을 viewDidLoad의 체크에 삽입하면 처음에는 크기가 한 번만 설정되며 모든 것이 작동합니다.

CGPoint tvFrameO = _TableView.frame.origin; 
CGSize tvFrameS = _TableView.frame.size; 
float valueToResize = 50.0f; 
_TableView.frame = CGRectMake(tvFrameO.x, 
            tvFrameO.y, 
            tvFrameS.width, 
            tvFrameS.height + valueToResize); 
관련 문제