gpt4 book ai didi

ios - 如何在 UITableView 的顶部添加额外的分隔符?

转载 作者:IT王子 更新时间:2023-10-29 07:44:55 24 4
gpt4 key购买 nike

我有一个 iPhone View ,它基本上分为两部分,上半部分是信息显示,下半部分是用于选择操作的 UITableView。问题在于 UITableView 中第一个单元格上方没有边框或分隔符,因此列表中的第一项看起来很有趣。如何在表格顶部添加一个额外的分隔符,以将其与其上方的显示区域分开?

这是构建单元格的代码 - 它非常简单。整体布局在 xib 中处理。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
}

switch(indexPath.row) {
case 0: {
cell.textLabel.text = @"Action 1";
break;
}
case 1: {
cell.textLabel.text = @"Action 2";
break;
}
// etc.......
}
return cell;
}

最佳答案

为了复制标准的 iOS 分隔线,我使用 1 px(不是 1 pt)的细线 tableHeaderView 和 TableView 的 separatorColor:

// in -viewDidLoad
self.tableView.tableHeaderView = ({
UIView *line = [[UIView alloc]
initWithFrame:CGRectMake(0, 0,
self.tableView.frame.size.width, 1 / UIScreen.mainScreen.scale)];
line.backgroundColor = self.tableView.separatorColor;
line;
});

在 Swift 中也是如此(感谢 Dane Jordan、Yuichi Kato、Tony Merritt):

let px = 1 / UIScreen.main.scale
let frame = CGRect(x: 0, y: 0, width: self.tableView.frame.size.width, height: px)
let line = UIView(frame: frame)
self.tableView.tableHeaderView = line
line.backgroundColor = self.tableView.separatorColor

关于ios - 如何在 UITableView 的顶部添加额外的分隔符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3012120/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com