'도트'가 고정 된 색상이라도 괜찮다면 이미 제공된 방법으로 달성 할 수 있습니다. 당신은 필요한 경우에만이 방법을 사용 : 당신은 또한 당신이 선택한 '점'을 통해이 투명한 이미지를 보유하고 UIImageView
이 필요합니다
- (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView;
- (NSInteger)tableView:(UITableView *)tableView sectionForSectionIndexTitle:(NSString *)title atIndex:(NSInteger)index;
.
첫 번째 방법은 [NSArray arrayWithObjects:@".", @".", ..., @".", nil];
양식으로 NSArray
을 반환합니다. 사이드 바에 '점'으로 입력됩니다. 각 점은 UITableView
의 1 섹션을 나타냅니다. 사용자가 '도트'중 하나를 탭하면 UITableView
이 해당 섹션으로 이동합니다. 섹션을 각 1 페이지 길이로 만들고 싶으므로 적절하게 데이터를 구분하십시오.
두 번째 방법은 선택한 도트를 포함하는 투명 이미지가있는 UIImageView
의 프레임을 조정하는 것입니다. .frame.
속성을 새롭게 선택된 섹션으로 정렬하십시오. 이 줄을 맞추기 위해서는 약간의 수학이 필요하지만 상당히 쉽습니다.
또한 사용자가 스크롤하는 동안 투명 이미지 이동을 처리하려면 UIScrollViewDelegate
메서드를 사용해야합니다. 그들은 :
- (void)scrollViewDidScroll:(UIScrollView *)scrollView;
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView;
다음은 사용자가 스크롤되는 동안 해당 섹션에 UIImageView
이동을 할 수 있습니다. 다시 말하지만, 모든 것이 완벽하게 정렬되게하려면 약간의 수학을해야합니다.
희망이 도움이됩니다!
고맙습니다. 그것을 시도 할 것입니다. 내가 가진 유일한 문제는 내 TableView가 하나의 섹션이라는 것입니다. 여러 섹션으로 나누면 각 섹션마다 헤더가 있어야하나요 아니면 하나의 큰 섹션으로 표시 할 수 있습니까? –
각 섹션마다 헤더가 필요하지 않습니다. '- (NSString *) tableView : (UITableView *) tableView titleForHeaderInSection : (NSInteger) section;'메소드에서'nil'을 리턴하면됩니다. – msgambel