Ios 如何在Swift中更改细节披露附件的颜色?
我为Objective-C找到了这个问题的一些答案,但对于Swift,我找不到太多答案。我试图将我发现的东西用于Swift,但我遇到了一个问题:当我添加行Ios 如何在Swift中更改细节披露附件的颜色?,ios,uitableview,swift,colors,Ios,Uitableview,Swift,Colors,我为Objective-C找到了这个问题的一些答案,但对于Swift,我找不到太多答案。我试图将我发现的东西用于Swift,但我遇到了一个问题:当我添加行self.backgroundColor=UIColor.clearColor()时,背景是应该的,但箭头的颜色在高亮显示时不会改变。当那行代码被注释掉时,箭头的颜色会改变,但背景是黑色的(我希望它是清晰的)。这是我到目前为止为这门课所做的 导入基础 导入UIKit 类自定义彩色附件:UIControl{ var accessoryColor:
self.backgroundColor=UIColor.clearColor()
时,背景是应该的,但箭头的颜色在高亮显示时不会改变。当那行代码被注释掉时,箭头的颜色会改变,但背景是黑色的(我希望它是清晰的)。这是我到目前为止为这门课所做的
<代码>导入基础
导入UIKit
类自定义彩色附件:UIControl{
var accessoryColor:UIColor=.lightGrayColor()
var highlightedColor:UIColor=.whiteColor()
初始化(accessoryColor:UIColor,highlightedColor:UIColor){
super.init()
self.accessoryColor=accessoryColor
self.highlightedColor=highlightedColor
CGRectMake(0,0,11.0,15.0)
}
重写初始化(帧:CGRect){
让myFrame=CGRectMake(0,0,11.0,15.0)
super.init(frame:myFrame)
self.backgroundColor=UIColor.clearColor()//这是上面提到的行
}
必需的初始化(编码器aDecoder:NSCoder){
fatalError(“初始化(编码者:)尚未实现”)
}
重写func drawRect(rect:CGRect){
//(x,y)是箭头的尖端
设x=CGRectGetMaxX(self.bounds)-3.0
设y=CGRectGetMidY(self.bounds)
设R:CGFloat=4.5
var ctxt=UIGraphicsGetCurrentContext()
CGContextMoveToPoint(ctxt、x-R、y-R)
CGContextAddLineToPoint(ctxt,x,y)
CGContextAddLineToPoint(ctxt、x-R、y+R)
CGContextSetLineCap(ctxt、kCGLineCapSquare)
CGContextSetLineJoin(ctxt、kCGLineJoinMiter)
CGContextSetLineWidth(ctxt,3)
如果(自高亮显示){
self.highlightedColor.setStroke()
}否则{
self.accessoryColor.setStroke()
}
CGContextStrokePath(ctxt)
}
}
我正在CellForRowatinedexPath tableView方法中用以下几行实现它:
var cell=tableView.dequeueReusableCellWithIdentifier(“cell”,forIndexPath:indexPath)作为UITableViewCell
cell.textlab?.text=“text”
let附件:CustomColoredAccessory=CustomColoredAccessory(附件颜色:UIColor.blackColor(),highlightedColor:UIColor.whiteColor())
cell.accessoryView=附件
返回单元
我也很确定我的init方法不是犹太的,但我只是把东西扔到墙上,直到它们卡住为止。如有任何见解,将不胜感激