2015-09-05 3 views
1
import UIKit 

class ViewController: UIViewController { 


    @IBOutlet weak var myView: UIView! 



    override func viewDidLoad() { 
     super.viewDidLoad() 
     let url = NSURL(string: "http://blogs.independent.co.uk/wp-content/uploads/2012/12/some-girls.jpg") 
     var image : UIImage? = nil 
     if let data = NSData(contentsOfURL: url!) { 
     image = UIImage(data: data) 
     } 

     let myLayer = CALayer() 
     myLayer.anchorPoint = CGPoint(x: 0, y: 0) 
     myLayer.bounds = CGRectMake(0, 0, self.view.bounds.width, self.view.bounds.height) 
     myLayer.position = CGPoint(x: 0,y: 0) 
     myLayer.borderColor = UIColor.redColor().CGColor 
     myLayer.borderWidth = 2.0 
     // the image is not displayed 
     myLayer.contents = image 
     print(myLayer.contents) 

     myView.layer.addSublayer(myLayer) 
     myView.layer.opacity = 0.3 
    } 


} 

UIImage не отображается, почему это так? Что не так с кодом? Пожалуйста, помогите кто хорошо разбирается в Core Animation и SwiftСодержимое CALayer не отображается в Swift2

ответ

2

В CALayer CGImage используется и не UIImage Поэтому Преобразовать UIImage в CGImage так:

myLayer.contents = image?.CGImage 

Это должно исправить.

+0

Oh Thanks Это сработало отлично. –