2016-09-02 46 views
1

我必须做出哪些细胞是从转过一个的CollectionView左右,这是确定下面如何为圆角单元格的上边框着色?

let maskPath = UIBezierPath(roundedRect: self.bounds, 
           byRoundingCorners: corners, 
           cornerRadii: CGSize(width: 10.0, height: 10.0)) 
    let maskLayer = CAShapeLayer() 
    maskLayer.frame = self.bounds 
    maskLayer.path = maskPath.CGPath 
    self.layer.mask = maskLayer 
    self.layer.masksToBounds = true 

但一件事的代码,我想给边框颜色到每一个单元的顶部,

enter image description here

任何想法?

谢谢。

+1

边框颜色?你可以使用UIBezierPath来绘制一条对应的线条? – Larme

+0

我试图画一条线,它的问题是圆角的一部分。 – user2628268

+1

角半径只是一个“夸脱圆”。 UIBezierPath有方法绘制圆圈部分。这并不复杂。从0,10开始,从中心10,10以10为半径绘制一个圆圈,然后从10,0到宽度-10.0绘制一条直线,从中心宽度-10,10以半径10绘制一个圆。 – Larme

回答

-1

添加的CALayer作为细胞

CALayer *borderLayer = [CALayer layer]; 

    borderLayer.borderColor = [UIColor greenColor].CGColor; 

    borderLayer.borderWidth = 3.0f; 

    borderLayer.frame = CGRectMake(0, 0, cell.frame.size.width, 1); 

    [cell.layer addSublayer:borderLayer]; 
0

一些不同的子层,所以:

let view = UIView(frame: CGRect(x: 100, y: 100, width: 100, height: 100)) 

let shapeOfView = CAShapeLayer() 
shapeOfView.position = view.center 
shapeOfView.bounds = view.frame 
shapeOfView.path = UIBezierPath(roundedRect: view.bounds, byRoundingCorners: [.topLeft, .topRight], cornerRadii: CGSize(width: 10.0, height: 10)).cgPath   

view.layer.backgroundColor = UIColor.red.cgColor 
view.layer.mask = shapeOfView 
+0

我写了Swift 3代码,所以你可能需要更正一些语句。 – pedrouan

+0

线是好的,但它应该包括圆角部分。 – user2628268

+0

哦,事实并非如此。我将调查我可以如何提供帮助。 – pedrouan

0

你可以做,

var border = CALayer() 
    border.frame = CGRectMake(0, 0, CGRectGetWidth(self.view.frame), 1) //set width and heigt (thickness of your border) 
    border.backgroundColor = color.CGColor; //desired color 
    yourCell.layer.addSublayer(border) 
+0

我有圆角部分的问题,行是好的。 – user2628268