我将Storyboard中的分隔符样式删除为无,但仍显示标题视图底部的1px白色边框。 我试图将viewdidload上的分隔符样式设置为none,并尝试使用一些扩展来移除子视图但仍然无效。
我使用单元格在标题视图中出列并为其设置高度。 这是我的代码:
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
// #warning Incomplete implementation, return the number of rows
switch section {
case 0:
return 1
case 1:
return 1
case 2:
return 1
case 3:
return 1
case 4:
return 1
case 5:
return 1
case 6:
return 1
default:
return 1
}
}
// MARK: - View For Header
override func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
switch section {
case 2:
let cell = tableView.dequeueReusableCell(withIdentifier: "NewProductHeaderTableViewCell") as! NewProductHeaderTableViewCell
tableView.separatorStyle = UITableViewCellSeparatorStyle.none
cell.titleLabel.text = "Produktet e reja"
return cell
case 3:
let cell = tableView.dequeueReusableCell(withIdentifier: "NewProductHeaderTableViewCell") as! NewProductHeaderTableViewCell
cell.titleLabel.text = "Top Produktet"
return cell
case 4:
let cell = tableView.dequeueReusableCell(withIdentifier: "NewProductHeaderTableViewCell") as! NewProductHeaderTableViewCell
cell.titleLabel.text = "Me te shiturat"
return cell
default:
return nil
}
}
// MARK: - Height For Header
override func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
switch section {
case 2:
return 46.0
case 3:
return 46.0
case 4:
return 46.0
default:
return 0.1
}
}
override func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
return 0
}
// MARK: - Height For Row
override func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
switch indexPath.section {
case 0:
return 90
case 1:
return UITableViewAutomaticDimension
case 2:
return 177
case 3:
return 177
case 4:
return UITableViewAutomaticDimension
case 5:
return 90
case 6:
return 90
default:
return 90
}
}
// MARK: - Cell For Row
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
switch indexPath.section {
case 0:
let cell = tableView.dequeueReusableCell(withIdentifier: "StoryTableViewCell", for: indexPath) as! StoryTableViewCell
return cell
case 1:
return UITableViewCell()
case 2:
let cell = tableView.dequeueReusableCell(withIdentifier: "NewProductTableViewCell", for: indexPath) as! NewProductTableViewCell
return cell
case 3:
let cell = tableView.dequeueReusableCell(withIdentifier: "NewProductTableViewCell", for: indexPath) as! NewProductTableViewCell
return cell
case 4:
return UITableViewCell()
case 5:
return UITableViewCell()
case 6:
return UITableViewCell()
default:
return UITableViewCell()
}
}
答案 0 :(得分:0)
试试这个:
cell.separatorInset = UIEdgeInsetsZero
cell.layoutMargins = UIEdgeInsetsZero
答案 1 :(得分:0)
尝试使用此
override func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
switch section {
case 2:
let cell = tableView.dequeueReusableCell(withIdentifier: "NewProductHeaderTableViewCell") as! NewProductHeaderTableViewCell
tableView.separatorStyle = UITableViewCellSeparatorStyle.none
cell.titleLabel.text = "Produktet e reja"
return cell
case 3:
let cell = tableView.dequeueReusableCell(withIdentifier: "NewProductHeaderTableViewCell") as! NewProductHeaderTableViewCell
cell.titleLabel.text = "Top Produktet"
return cell
case 4:
let cell = tableView.dequeueReusableCell(withIdentifier: "NewProductHeaderTableViewCell") as! NewProductHeaderTableViewCell
cell.titleLabel.text = "Me te shiturat"
return cell
default:
let view = UIView(frame: .zero)
view.backgroundColor = .clear
return view
}
}