我在自定义UITableViewCell
中绘制一条水平线。
import UIKit
class CustomCell: UITableViewCell {
private var columns: [CGFloat] = []
override func drawRect(rect: CGRect) {
super.drawRect(rect)
let context = UIGraphicsGetCurrentContext()
CGContextSetStrokeColorWithColor(context, UIColor.darkGrayColor().CGColor)
CGContextSetLineWidth(context, 0.60)
for column in columns {
// Drawing the vertical line
CGContextMoveToPoint(context, column, 10)
CGContextAddLineToPoint(context, column, self.bounds.size.height - 10)
}
CGContextStrokePath(context)
}
func addColumn(position: CGFloat) {
columns.append(position)
}
}
从cellForRowAtIndexPath
方法中,我指定了该行的x位置值。
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("CustomCell", forIndexPath: indexPath) as CustomCell
cell.addColumn(40)
return cell
}
此解决方案在iOS 8中运行良好。但我也必须支持iOS 7。奇怪的是,当我在iOS 7中运行应用程序时,该行不会出现。
我找不到任何关于此的答案。任何人都知道为什么会这样以及如何解决它?
谢谢。