我一直在网上搜索这个问题的答案,我相信它有一个简单的答案。
我正在我的应用程序中创建一个 UITableView,我希望它在顶部具有“浮动”表格视图单元格和一个菜单。像这样:
我确定这些是自定义 UITableView 单元格,但我不确定如何像这样创建它们并根据内容使它们的大小动态变化,以及如何在顶部包含一个菜单,一旦用户向下滚动,该菜单就会消失/显示或向上。
对此的任何见解都会很棒!
我一直在网上搜索这个问题的答案,我相信它有一个简单的答案。
我正在我的应用程序中创建一个 UITableView,我希望它在顶部具有“浮动”表格视图单元格和一个菜单。像这样:
我确定这些是自定义 UITableView 单元格,但我不确定如何像这样创建它们并根据内容使它们的大小动态变化,以及如何在顶部包含一个菜单,一旦用户向下滚动,该菜单就会消失/显示或向上。
对此的任何见解都会很棒!
这可以通过分组表视图中的子类 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 中的代码是计算单元格高度的典型方式(除了您通常会使用索引路径并为每个单元格获取不同的字符串)。
我认为这就是你要找的..
IBScrollViewFloatingHeader