tableView 中的自定义分隔符
Custom separator in tableView
我在 .jpg 中有自己的分隔符,我想在 TableView 中使用它而不是默认分隔符,但我唯一得到的是它消失了。
Swift 3.0:
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "musicCell", for: indexPath) as! SongTableViewCell
let color = UIColor(patternImage: UIImage(named:"Separator.jpg")!)
let separator = tableView.separatorColor(color)
tableView.tableFooterView = UIView(frame: .zero)
tableView.backgroundView = UIImageView(image: UIImage(named: "bckgrd.jpg"))
cell.backgroundColor = UIColor.clear
//tableView.separatorStyle = UITableViewCellSeparatorStyle.singleLine
//tableView.separatorColor = UIColor(patternImage: UIImage(named: "Separator.jpg"))
这是我尝试实现的方法之一。还有其他方法吗?
在 viewDidLoad
方法中设置分隔符颜色...
override func viewDidLoad() {
super.viewDidLoad()
let color = UIColor(patternImage: UIImage(named:"Separator.jpg")!)
tableView.separatorColor = color
}
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
let color = UIColor(patternImage: UIImage(named:"Separator.jpg")!)
tblView.separatorColor = color
}
您需要设置分隔符样式,而不仅仅是颜色。将 separator style
设置为 single line
并确保您的 Separator.jpg
图像看起来像单行并且您通过 let color = UIColor(patternImage: UIImage(named:"Separator.jpg")!)
此语句获得颜色!
您可以设置分隔符样式,例如,
tableView.separatorStyle = UITableViewCellSeparatorStyle.SingleLine
P.S :如果你在模拟器上检查它然后在全分辨率下检查它(即 cmd + 1
或在模拟器 window - > scale - > 100%
中),因为有时实际上没有问题但是因为规模较小你看不到
更新:
另一种方式:Set SeparatorStyle to None
来自界面生成器或通过类似代码,
tableView.separatorStyle = UITableViewCellSeparatorStyle.None
然后您可以通过代码或界面构建器将 seperator image
(高度为 1 像素或 2 像素的图像视图)添加到单元格底部的单元格,
let seperatorImageView = UIImageView.init(image: UIImage.init(named: "yourseperatorimg.jpg"))
seperatorImageView.frame = CGRectMake(0, cell.contentView.frame.size.height - 1.0, cell.contentView.frame.size.width, 1)
cell.contentView.addSubview(seperatorImageView)
我在 .jpg 中有自己的分隔符,我想在 TableView 中使用它而不是默认分隔符,但我唯一得到的是它消失了。
Swift 3.0:
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "musicCell", for: indexPath) as! SongTableViewCell
let color = UIColor(patternImage: UIImage(named:"Separator.jpg")!)
let separator = tableView.separatorColor(color)
tableView.tableFooterView = UIView(frame: .zero)
tableView.backgroundView = UIImageView(image: UIImage(named: "bckgrd.jpg"))
cell.backgroundColor = UIColor.clear
//tableView.separatorStyle = UITableViewCellSeparatorStyle.singleLine
//tableView.separatorColor = UIColor(patternImage: UIImage(named: "Separator.jpg"))
这是我尝试实现的方法之一。还有其他方法吗?
在 viewDidLoad
方法中设置分隔符颜色...
override func viewDidLoad() {
super.viewDidLoad()
let color = UIColor(patternImage: UIImage(named:"Separator.jpg")!)
tableView.separatorColor = color
}
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
let color = UIColor(patternImage: UIImage(named:"Separator.jpg")!)
tblView.separatorColor = color
}
您需要设置分隔符样式,而不仅仅是颜色。将 separator style
设置为 single line
并确保您的 Separator.jpg
图像看起来像单行并且您通过 let color = UIColor(patternImage: UIImage(named:"Separator.jpg")!)
此语句获得颜色!
您可以设置分隔符样式,例如,
tableView.separatorStyle = UITableViewCellSeparatorStyle.SingleLine
P.S :如果你在模拟器上检查它然后在全分辨率下检查它(即 cmd + 1
或在模拟器 window - > scale - > 100%
中),因为有时实际上没有问题但是因为规模较小你看不到
更新:
另一种方式:Set SeparatorStyle to None
来自界面生成器或通过类似代码,
tableView.separatorStyle = UITableViewCellSeparatorStyle.None
然后您可以通过代码或界面构建器将 seperator image
(高度为 1 像素或 2 像素的图像视图)添加到单元格底部的单元格,
let seperatorImageView = UIImageView.init(image: UIImage.init(named: "yourseperatorimg.jpg"))
seperatorImageView.frame = CGRectMake(0, cell.contentView.frame.size.height - 1.0, cell.contentView.frame.size.width, 1)
cell.contentView.addSubview(seperatorImageView)