2016-09-02 87 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