在UITableView中滚动一个部分

时间:2010-07-31 15:54:29

标签: iphone uitableview

我有一个UITableView实例,有两个部分,第一部分有一行,第二部分有8行。第二部分经常离开屏幕,用户可以向下滚动整个表格视图,以便随意查看。

但是我希望第一部分始终保持在视图中,因为它的信息很有用。我只希望第二部分可以滚动,第一部分保持静止并在视野中。

你有什么建议?

2 个答案:

答案 0 :(得分:2)

您无法单独滚动每个部分。但是根据你的描述听起来像你的第一部分不是真正的部分,实际上应该是第二部分的标题。为节创建标题时,标题将始终保持可见。要创建自定义视图部分,您需要实现UITableViewDelegate协议中定义的viewForHeaderInSection和heightForHeaderInSection。

这是一个例子

- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
{
      return 60;
}


- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
      UIView *myHeader = [[[UIView alloc] initWithFrame:CGRectMake(0,0,60,320)] autorelease];
      myHeader.backgroundColor = [UIColor redColor];
      UILabel *myLabel = [[[UILabel alloc] initWithFrame:CGRectMake(0,0,30,150)] autorelease];
      myLabel.text = @"Testing header view";
      [myHeader addSubView:myLabel];
      return myHeader;

}

通过这种方式,您可以创建一个表格视图,其中包含一个部分和该部分的标题,即使在滚动表格时也会保留在视图中。

答案 1 :(得分:1)

我担心你不能用一张桌子来做这件事。所有部分都将滚动。但是,如果第一部分总是包含一行并且您希望将其保留在原位,那么为什么要将它保留在表中呢?你可以将它移出桌面。