代码之家  ›  专栏  ›  技术社区  ›  Ken

在UITableView中滚动节

  •  2
  • Ken  · 技术社区  · 14 年前

    我有一个UITableView实例,它有两个部分,第一部分有一行,第二部分最多有八行。第二部分经常离开屏幕,用户可以向下滚动整个表视图来随意查看这些内容。

    然而,我希望第一部分始终保持在人们的视线中,因为它的信息是有用的。我只希望第二部分是可滚动的,第一部分保持静止并在视图中。

    你有什么建议?

    2 回复  |  直到 14 年前
        1
  •  2
  •   Ron Srebro    14 年前

    不能单独滚动每个部分。然而,根据你的描述,听起来你的第一节不是真正的一节,实际上应该是第二节的标题。为节创建标题时,标题将始终保持可见。要创建自定义视图节,需要实现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;
    
    }
    

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

        2
  •  1
  •   taskinoor    14 年前

    恐怕你不能用一张桌子来做这个。所有部分都将滚动。但是,如果第一节始终包含一行,并且您希望将其保留在适当的位置,那么为什么要将其保留在表中?你可以把这个搬出桌子。