我一直在网上搜索这个答案,我相信它有一个简单的答案。
我正在我的应用程序中创建一个UITableView,我希望它有“浮动”表格视图单元格和顶部的菜单。像这样:
我确信这些是自定义UITableView单元格,但我不确定如何创建它们,并根据内容使它们具有动态大小,以及如何在顶部包含一个菜单,消失/显示一次用户向下或向上滚动。
对此的任何见解都会很棒!
答案 0 :(得分:4)
这可以通过分组表视图中的子类UITableViewCell轻松完成。下图显示了我通过拖动各种UI元素快速制作的图像,并创建了一个自定义类,它只包含.h文件中的IBOutlets。
带有乱码的标签与下面的灰色视图和细胞顶部相关联,没有设置特定的高度,因此当细胞生长时,它会生长。这是我用来填充表格的代码:
- (void)viewDidLoad {
[super viewDidLoad];
self.theData = @[@"One",@"Two",@"Three",@"Four",@"Five",@"Six",@"Seven",@"Eight",@"Nine"];
[self.tableView reloadData];
}
-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return self.theData.count;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return 1;
}
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
NSString *s = @"asdfhfl fl flfh sflhsalfjh fajlhf lf asldf fh asljfafh sjlfh ajf fljf fasjlfhjfhjfhjsf hsjfhsjfhajsfh the end";
CGSize size = [s sizeWithFont:[UIFont systemFontOfSize:17] constrainedToSize:CGSizeMake(281, CGFLOAT_MAX) lineBreakMode:NSLineBreakByWordWrapping];
return size.height + 130;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
RDCell *cell = [tableView dequeueReusableCellWithIdentifier:@"RDCell" forIndexPath:indexPath];
cell.lbl1.text = self.theData[indexPath.section];
cell.lbl2.text = @"asdfhfl fl flfh sflhsalfjh fajlhf lf asldf fh asljfafh sjlfh ajf fljf fasjlfhjfhjfhjsf hsjfhsjfhajsfhajlfjafh";
return cell;
}
请注意,我将部分数设置为数组的计数,因此每个部分都有1行的单独部分。 heightForRowAtIndexPath中的代码是计算单元格高度的典型代码(除了通常使用索引路径并为每个单元格获取不同的字符串之外)。
答案 1 :(得分:0)
我认为那就是你要找的东西。
IBScrollViewFloatingHeader