2017-01-12 4 views
-3

Swift 3でこのタイプのビューを作成したいとします。私たちはどのように作成する私はこれを行うことができません助けてくださいどんな助けもありがとうございます。ありがとうございましたSwiftのTriangle Imageview

+1

**このタイプのビューをSwift 3で作成したいと思っています**それは意味ですか? – seggy

+0

三角形のパスで画像ビューをマスクしたいようですね? –

+0

透過性のある三角形の画像を持つのに役立ちませんか? – werediver

答えて

1

イメージを三角形に切り抜きたいですか?この場合の例を作成しました

func createTriangleImage() { 
    // your UIImage 
    let ballImage = UIImage(named: "ball")! 

    // your imageView which you wanted to be triangle. 
    // I made the example via layers as it seems easier to me 
    // so you dont need UIImageView here, UIView is enough 
    let viewWithImage = UIView(frame: CGRect(x: 0, y: 0, width: 40, height: 40)) 

    // Layer for your image 
    let imageLayer = CALayer() 
    // Setting the image 
    imageLayer.contents = ballImage.cgImage 
    imageLayer.frame = viewWithImage.frame 
    viewWithImage.layer.addSublayer(imageLayer) 

    //view - is your main view where you wanted to put the triangle image 
    view.addSubview(viewWithImage) 

    // Creating a triangle path to draw triangle mask later 
    let path = UIBezierPath() 
    path.move(to: CGPoint(x: 20, y: 0)) 
    path.addLine(to: CGPoint(x: 40, y: 40)) 
    path.addLine(to: CGPoint(x: 0, y: 40)) 
    path.close() 

    // Creating a mask layer 
    let maskLayer = CAShapeLayer() 
    maskLayer.path = path.cgPath 
    maskLayer.fillColor = UIColor.red.cgColor 

    // Setting the mask 
    imageLayer.mask = maskLayer 
}