wagashi
wagashi

Reputation: 894

iphone - scrollRectToVisible issue

This functions perfectly, but I want to make it an once-function, not fixed-function. When I change tableview with other data, the data displays at the index from previous tableview. So my solution to this is implementing the code below. When I implement this, it works, but when I scroll down, it scrolls up all the time, so it is virtually impossible to scroll down further. Any idea how to make it performs only once when I change tableview?

The code:

[tableView scrollRectToVisible:CGRectMake(0,0,1,1) animated:NO];    

Edit 21 august:

Guys, thank you very much! The code was in cellforrowatindexpath. I moved it to inside the function which changes tableview and it works like a charm :D

Upvotes: 0

Views: 1363

Answers (2)

Suhail Patel
Suhail Patel

Reputation: 13694

You could override the reloadData method if that is how you are reloading the Table View with new data and put the code in there. Something like this in your table view controller should suffice:

- (void)reloadData {
    [super reloadData];

    [tableView scrollRectToVisible:CGRectMake(0,0,1,1) animated:NO];
}

If it's scrolling up every time you scroll down, I assume you put the code in the cellForRowAtIndexPath method which will get called every time you want to present the cell. This is not the correct place to put that code.

Upvotes: 1

Akshay
Akshay

Reputation: 5765

It IS a once-function. Most probably, this code of yours is executing again & again. If you have kept this in a function such as cellForRowAtIndexPath:, which is called frequently, that may be the cause of this problem. Where have you put it?

HTH,

Akshay

Upvotes: 1

Related Questions