我有一个 UITableView,顶部有一个 UISearchBar。
我还使用 Section Index 代理在右侧显示 ABC...XYZ。
当我单击搜索框并且键盘从底部出现时出现问题,部分索引被挤压,因此只显示 A D ...*Z - 当我关闭搜索并且他们的键盘消失时,索引停留在这个“压扁”状态,直到我滚动或类似。
// animate the searchbar
[UIView beginAnimations:nil context:NULL];
CGRect tempRect = [[self searchBar] frame];
tempRect.size.width = 320-kMarginRight;
[[self searchBar] setFrame:tempRect];
[UIView commitAnimations];
// animate the search index back into view
for (UIView *view in [[self tableView] subviews]) {
if ([view respondsToSelector:@selector(moveIndexIn)]) {
MovableTableViewIndex *index = (MovableTableViewIndex*)view;
[index moveIndexIn];
}
}
// try a whole load of stuff to try and get the section indexes to draw again properly
// none of which work!
[searchBar setText:@""];
[searchBar resignFirstResponder];
letUserSelectRow = YES;
searching = NO;
[[self navigationItem] setRightBarButtonItem:nil];
[[self tableView] setScrollEnabled:YES];
[[self tableView] reloadData];
[[self tableView] flashScrollIndicators];
[[self tableView] sizeToFit];
[[self tableView] zoomScale];
[[self tableView] reloadSectionIndexTitles];
我的问题是,有人见过这种行为吗?有没有办法重新绘制 RHS 上的部分索引([[self tableView] reloadData]
不起作用)
太感谢了!