2017-03-16 1 views
0

단일 이미지 뷰를 오른쪽 객체의 출력으로 변환하려고합니다. 이것은 How to make imageview with different shape in swift과 매우 비슷한 질문입니다. 그러나 그것은 swift2에 있었다. 나는 그것을 시도하고 그것은 swift3에서 작동하지 않는 것.이미지 모양을 사용자 정의 모양으로 변환하는 방법 (swift3)

ll

+0

은 우리에게 당신이 시도 코드를 제시해주십시오. Swift 2와 Swift 3 사이에는 어떤 차이가 없습니다. – dfd

답변

0

다음과 같이하십시오 :

extension UIImageView { 
    func addMask(_ bezierPath: UIBezierPath) { 
     let pathMask = CAShapeLayer() 
     pathMask.path = bezierPath.cgPath 
     layer.mask = pathMask 
    } 
} 

테스트 놀이터 :

let myPicture = UIImage(data: try! Data(contentsOf: URL(string:"http://i.stack.imgur.com/Xs4RX.jpg")!))! 
let iv = UIImageView(image: myPicture) 

let bezierPath = UIBezierPath() 
bezierPath.move(to: iv.center) 
bezierPath.addLine(to: CGPoint(x: iv.frame.maxX, y: 0)) 
bezierPath.addLine(to: CGPoint(x: iv.frame.maxX, y: iv.frame.maxY)) 
bezierPath.addLine(to: CGPoint(x: 0, y: iv.frame.maxY)) 
bezierPath.addLine(to: .zero) 
bezierPath.close() 

iv.addMask(bezierPath) 
+0

테스팅 놀이터를 확장 파일에 넣으시겠습니까? –

+0

테스트 코드 –

+0

전에 놀이터 파일에 확장 프로그램을 추가해야합니다. 프로젝트에서 새로운 빠른 파일을 추가하고 파일에 UIKit 가져 오기를 추가 한 다음 해당 확장 프로그램을 추가하십시오 ( –

관련 문제