2017-02-09 4 views

答えて

1

あなたは不透明で黒いですUIViewを作成して、あなたのUIImageViewの同じ大きさにし、サブビューとして追加することができます。これは簡単です

let tintView = UIView() 
tintView.backgroundColor = UIColor(white: 0, alpha: 0.5) //change to your liking 
tintView.frame = CGRect(x: 0, y: 0, width: imageView.frame.width, height: imageView.frame.height) 

imageView.addSubview(tintView) 

ImageViewの =あなたのUIImageView

+0

これは、イメージビューがあることを前提としています。質問は全く明確ではありません。彼らは 'UIImage'を修正する方法を尋ねているかもしれません。 – rmaddy

0
func drawRectOn(image: UIImage) -> UIImage { 
    UIGraphicsBeginImageContext(image.size) 
    image.draw(at: CGPoint.zero) 
    let context = UIGraphicsGetCurrentContext() 

    // set fill gray and alpha 
    context!.setFillColor(gray: 0, alpha: 0.5) 
    context!.move(to: CGPoint(x: 0, y: 0)) 
    context!.fill(CGRect(x: 0, y: 0, width: image.size.width, height: image.size.height)) 
    context!.strokePath() 
    let resultImage = UIGraphicsGetImageFromCurrentImageContext() 

    // end the graphics context 
    UIGraphicsEndImageContext() 

    return resultImage! 

} 
+0

移動を呼び出す必要はありません(既に塗りつぶしの原点が設定されています)。 'defer {UIGraphicsEndImageContext()}'を使って終了イメージのコンテキストを延期し、UIImageを返すとそれが起こるようにすることができます。また、 'image.draw(at:.zero)'、 'context!.move(to:.zero)'および 'currentContext!.fill(CGRect(origin:.zero、size:image.size))を短くするために、 '。ストロークする必要もありません –

+0

同意します。それは人工物だった:) –

関連する問題