2010-09-16 91 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