Gavin
Gavin

Reputation: 2834

Scroll to selected tablecell

I implemented a TableView to show up a PickerView when a particular row is selected. But that would sometime block the selected cell. So, I want my scrollView to scroll to the selected cell when the pickerView shows up.

Is there anyway to get the current location of the selected row? Such that I can implement something like

//---scroll to the current text field---
CGRect textFieldRect = [currentTextField frame];
[scrollView scrollRectToVisible:textFieldRect animated:YES];

Thanks.

Upvotes: 0

Views: 402

Answers (1)

Legolas
Legolas

Reputation: 12335

If you want to solve the pickerView or the keyboard hiding the screen, you can try this approach. Implement the heightForFooterInSection and set a height value, and the tableView will scroll up to the same value as you specify there.

-(CGFloat)tableView:(UITableView*)tableView heightForFooterInSection:(NSInteger)section
{
return 70.0;
}

If you just want the tableView to scroll , just implement the scrollToRowAtIndexPath:atScrollPosition:animated:

Edit:

Since you are using a UIScrollView, you can programmatically scroll to a certain region using

[scrollView setContentOffset:CGPointMake(x, y) animated:YES];

Also read through this reference: http://www.aaron.griffith.name/weblog/2011/02/23/scrolling-a-uiscrollview-programmatically/

Upvotes: 1

Related Questions