我有一个UITableView实例,有两个部分,第一部分有一行,第二部分有8行。第二部分经常离开屏幕,用户可以向下滚动整个表格视图,以便随意查看。
但是我希望第一部分始终保持在视图中,因为它的信息很有用。我只希望第二部分可以滚动,第一部分保持静止并在视野中。
你有什么建议?
答案 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)
我担心你不能用一张桌子来做这件事。所有部分都将滚动。但是,如果第一部分总是包含一行并且您希望将其保留在原位,那么为什么要将它保留在表中呢?你可以将它移出桌面。