После ответа DyingCactus выше, я добавил этот метод к своему контроллеру:
-(void)viewWillAppear:(BOOL)animated {
[self.tableView reloadData];
NSIndexPath* ip = [NSIndexPath indexPathForRow:[self.tableView numberOfRowsInSection:0] - 1 inSection:0];
[self.tableView scrollToRowAtIndexPath:ip atScrollPosition:UITableViewScrollPositionTop animated:NO];
}
И теперь он работает, именно то, что я хотел. Спасибо!
Несмотря на то, что это своего рода взлом, у меня это сработало:
- (void)searchBar:(UISearchBar *)searchBar selectedScopeButtonIndexDidChange:(NSInteger)selectedScope {
switch (selectedScope) {
case 0:
searchBar.keyboardType = UIKeyboardTypeNumberPad;
break;
default:
searchBar.keyboardType = UIKeyboardTypeDefault;
break;
// Hack: force ui to reflect changed keyboard type
[searchBar resignFirstResponder];
[searchBar becomeFirstResponder];
}