我似乎在其中一个表视图中遇到了奇怪的问题,无法隐藏分隔线(我认为它们是分隔线,但它们位于屏幕中央,而不是紧贴右侧)。所有东西都是通过程序创建的,所以这里没有故事板问题。您可以看到以下每个单元格上方的微小1像素线。我使用以下方式加载我的表:
我还有一个自定义标头,我使用以下代码实现:
```html
我尝试在不使用
我还尝试添加...(后面的内容未给出,无法翻译)
并且。
self.tableView.frame = CGRectMake(0, 0, self.view.frame.width, self.view.frame.height)
self.tableView.dataSource = self
self.tableView.delegate = self
self.tableView.registerClass(UITableViewCell.self, forCellReuseIdentifier: "cell")
self.tableView.backgroundColor = UIColor.whiteColor()
self.tableView.scrollEnabled = true
self.tableView.bounces = false
self.tableView.separatorStyle = UITableViewCellSeparatorStyle.None
self.view.addSubview(self.tableView)
我还有一个自定义标头,我使用以下代码实现:
```html
我也有一个自定义标题,我使用以下代码实现:
```func tableView(tableView: UITableView, willDisplayHeaderView view: UIView, forSection section: Int) {
let header:UITableViewHeaderFooterView = view as! UITableViewHeaderFooterView
header.textLabel.textColor = UIColor.whiteColor()
header.textLabel.frame = header.bounds
header.textLabel.textAlignment = NSTextAlignment.Center
view.tintColor = constants.getTintColor()
header.textLabel.textColor = UIColor.whiteColor()
}
我尝试在不使用
willDisplayHeaderView
的情况下加载表格,问题仍然存在。我还尝试添加...(后面的内容未给出,无法翻译)
tableview.separatorStyle = UITableViewCellSeparatorStyle.None
并且。
tableView.separatorColor = UIColor.clearColor()
以下是实现此目的的方法:
func tableView(tableView: UITableView, willDisplayCell cell: UITableViewCell, forRowAtIndexPath indexPath: NSIndexPath) {
tableView.separatorStyle = UITableViewCellSeparatorStyle.None
}
func numberOfSectionsInTableView(tableView: UITableView) -> Int {
tableView.separatorStyle = UITableViewCellSeparatorStyle.None
return self.boards.count
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int
{
tableView.separatorStyle = UITableViewCellSeparatorStyle.None
return self.boards[section].items.count
}
func tableView(tableView: UITableView, titleForHeaderInSection section: Int) -> String?
{
tableView.separatorStyle = UITableViewCellSeparatorStyle.None
return self.boards[section].name
}
编辑:
这些单元格是标准的UITableViewCells,单元格的颜色是交替设置的,通过以下方式实现:
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell
{
let cell:UITableViewCell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as! UITableViewCell
cell.selectionStyle = UITableViewCellSelectionStyle.None
if indexPath.row % 2 == 0 {
// Even
cell.backgroundColor = constants.UIColorFromRGB(0x1EACE0)
} else {
// Odd
cell.backgroundColor = constants.UIColorFromRGB(0x6FBEE5)
}
cell.textLabel?.textColor = UIColor.whiteColor()
cell.textLabel?.text = self.boards[indexPath.section].items[indexPath.row].title
return cell
}
编辑2:
我现在已经添加了分隔线,但这些不是分隔线,因为你仍然可以在分隔线下面看到它们。
求助!我很困惑。我有许多其他设置相同(就我所知)的表视图,它们都运行良好。
谢谢 Stack Overflow!
cell.contentView.backgroundColor = ...
- Matteo PiomboUITableViewCell
,在cellForRowAtIndex
中设置了蓝色背景。 - bwash70let cell:UITableViewCell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as! UITableViewCell?
当您的单元格不是自定义单元格?同时,self.tableView.registerClass(UITableViewCell.self, forCellReuseIdentifier: "cell")
是不必要的。尝试这个:let cell : UITableViewCell = UITableViewCell(style:UITableViewCellStyle.Subtitle, reuseIdentifier:"cell")
。 - Amit89