До сих пор, чтобы дать иллюзию подсветки мою камеру, когда запись на пленку, он просто реализован tableView:didSelectRowAtIndexPath:
так:Подчеркивая обычай UITableViewCell при переопределении DrawRect
tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
tableView.deselectRowAtIndexPath(indexPath, animated: false)
}
Теперь я настроить рендеринг contentView моей клетки (contentView-х subview фактически) путем переопределения drawRect
. Проблема в том, что мой трюк больше не «делает трюк».
Так я думал о реализации tableView:didHighlightRowAtIndexPath:
tableView:didUnhighlightRowAtIndexPath:
и так:
override func drawRect(rect: CGRect) {
let context: CGContextRef = UIGraphicsGetCurrentContext()
let colors: [CGColor]!
if isHighlighted {
colors = [UIColor.blackColor().CGColor, UIColor(red: 230/255, green: 230/255, blue: 230/255, alpha: 1).CGColor]
} else {
colors = [UIColor.whiteColor().CGColor, UIColor(red: 230/255, green: 230/255, blue: 230/255, alpha: 1).CGColor]
}
let rect = self.bounds
GraphicHelper.drawLinearGradient(context, rect: rect, colors: colors)
let strokeRect = CGRectInset(rect, 1, 1)
CGContextSetStrokeColorWithColor(context, UIColor.whiteColor().CGColor)
CGContextSetLineWidth(context, 1)
CGContextStrokeRect(context, strokeRect)
let separatorColor = UIColor(red: 208/255, green: 208/255, blue: 208/255, alpha: 1).CGColor
let startPoint = CGPointMake(rect.origin.x, rect.origin.y + rect.size.height - 1)
let endPoint = CGPointMake(rect.origin.x + rect.size.width - 1, rect.origin.y + rect.size.height - 1)
GraphicHelper.drawStroke(context, startPoint: startPoint, endPoint: endPoint, color: separatorColor, width: 1)
}
Это делает трюк, но только на «длинный» кран, который полностью бесполезным, так как он не работает или короткие отводы.
Любые предложения о том, как я мог это сделать?