2010-09-16 93 views
1
[self.tableView setContentOffset:CGPointMake(0,48) animated:NO]; 

我有一個UITableView頭中有一個UIView。除非動畫:我的UITableView不會滾動到(0,48)。我不想讓它動畫。UITableView不會滾動到某個位置

任何人都知道怎麼了?

回答

2

要設置的UIView段標題,您使用的功能:

- (UIView *) tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section; 

我懷疑你在viewWillAppear的某處調用了setContentOffset,但是稍後會調用該函數。我認爲它會覆蓋你的contentOffset。 ...不知道爲什麼它不動畫時是肯定的,但無論如何,只要把你的setContentOffset成這樣該功能:

- (UIView *) tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section 
{ 
    UIView *headerView = nil; 
    if (section == SEC_WITH_IMAGE_HEADER) { 
     headerView = self.neededView; 
    } 
    [self.tableView setContentOffset:CGPointMake(0,48) animated:NO]; 
    return headerView; 
} 

爲我工作,希望這樣會爲別人。

2

您可以嘗試使用名爲-scrollRectToVisible的方法:動畫


我誤解了你的問題。那麼,你想要的是用y座標偏移約48像素來初始化tableview?

這將使從的tableView 48 yPos

tableView.contentInset = UIEdgeInsetsMake(48, 0.0, 0.0, 0.0); 

希望這可以幫助你開始....

+0

self.tableView不會迴應scrollRectToVisible – 2010-09-16 02:46:48

+0

對不起,誤解了你的問題。我很好奇self.tableView.contenOffset = CGPointMake(0,48)是否有效。 – AechoLiu 2010-09-16 03:33:57

+0

兩個都不幸工作。 – 2010-09-16 16:02:29