2012-01-23 3 views
0

화면 하단에 UIToolbar와 유사한보기가있는 UITableView가 있습니다. 사용자가 테이블 데이터에서 특정 동작을 수행 할 때 동적으로 위아래로 슬라이드하여 화면에 나타나고 사라지도록 툴바에 애니메이션을 적용하고 싶습니다. 내가 겪고있는 문제는 툴바를 위로 움직이면 인덱스의 마지막 몇 글자를 덮는 것입니다.UITableView의 인덱스를 애니메이트하는 가장 좋은 방법은 무엇입니까?

저는 툴바 애니메이션과 함께 인덱스 크기를 애니메이션으로 축소하고 싶습니다. 표준 UITableView 색인 기능은보기가 표시하는 것으로보기에 대한 액세스를 sectionIndexTitlesForTableView을 통해 제공하지 않습니다. 그런 식으로 수정하는 가장 좋은 방법은 무엇입니까?

Example

답변

3

한 가지 방법은 전체 테이블 뷰 높이를 애니메이션하는 것입니다. 이렇게하면 툴바가 작동하는 동안 툴바가 무언가를하고 싶다면 툴바가 기본적으로 마지막 셀을 덮지 못하게됩니다.

UITableViewController가있는 경우 코드를 일반 UIViewController로 이동해야 할 수 있습니다.

또 다른 방법은 테이블보기의 하위보기를 통해 열거하고 섹션 제목보기를 그런 식으로 찾는 것입니다.하지만 잘 작동하는지 확실하지는 않습니다.

2

UITableView은 다른 스크롤보기임을 기억하십시오. 툴바의 높이에 따라 contentInsetscrollIndicatorInsets을 조정하십시오.

UIEdgeInsets contentInset = self.tableView.contentInset; 
contentInset.bottom = self.myToolbar.frame.size.height; 
self.tableView.contentInset = contentInset; 

UIEdgeInsets scrollInset = self.tableView.scrollIndicatorInsets; 
scrollInset.bottom = self.myToolbar.frame.size.height; 
self.tableView.scrollIndicatorInsets = scrollInset; 
관련 문제