2016-08-01 83 views
1

我有一个视图定义如下:阿尔法分量填充

class TriangleView: UIView { 


override func drawRect(rect: CGRect) { 

    // Get Height and Width 
    let layerHeight = self.layer.frame.height 
    let layerWidth = self.layer.frame.width 

    // Create Path 
    let bezierPath = UIBezierPath() 

    bezierPath.moveToPoint(CGPointMake(0, 0)) 
    bezierPath.addLineToPoint(CGPointMake(0, layerHeight)) 
    bezierPath.addLineToPoint(CGPointMake(layerWidth, layerHeight + 4)) 
    bezierPath.addLineToPoint(CGPointMake(0, 0)) 
    bezierPath.closePath() 

    // Apply Color 
    UIColor(red: (69/255.0), green: (209/255.0), blue: (153/255.0), alpha: 1.0).setFill() 
    bezierPath.fill() 

    // Mask to Path 
    let shapeLayer = CAShapeLayer() 
    shapeLayer.borderColor = UIColor.clearColor().CGColor 
    shapeLayer.path = bezierPath.CGPath 
    self.layer.mask = shapeLayer 

} 

} 

我试图使其半透明,但是使用UIColor(red: (69/255.0), green: (209/255.0), blue: (153/255.0), alpha: 0.5).setFill()以及使用bezierPath.fillWithBlendMode(.Normal, alpha: 0.5)产生的比暗相同的结果没有透明度的正常颜色,在这两种情况下我越减少alpha,颜色越深。我不确定我做错了什么。

回答

2

将视图backgroundColor设置为UIColor.clearColor()

0

我认为你正在为ViewController上的主视图分配TriangleView。取而代之的是从对象库中拖拽另一个视图并将其指定为TriangleView