web-dev-qa-db-fra.com

Comment créer une vue UIImage par programme - Swift

J'essaie de créer une vue UIImage par programme, j'ai une nouvelle vue et j'ai essayé de le faire.

let imageName = "yourImage.png"
yourview.backgroundColor = UIColor.colorWithPatternImage(UIImage(named:imageName))

cela n'a pas fonctionné parce que je ne sais pas ce que cela devrait être votre vision à la deuxième ligne.

Question: Comment faire apparaître un UIImageView à l'écran en le codant au lieu de le faire dans le storyboard

90
alex

Commencez par créer un UIImage à partir de votre fichier image, puis créez un UIImageView à partir de celui-ci:

let imageName = "yourImage.png"
let image = UIImage(named: imageName)
let imageView = UIImageView(image: image!)

Enfin, vous devrez donner à imageView un cadre et lui ajouter votre vue pour qu'il soit visible:

imageView.frame = CGRect(x: 0, y: 0, width: 100, height: 200)
view.addSubview(imageView)
232
Nate Cook

Commencez par créer UIImageView, puis ajoutez une image dans UIImageView.

    var imageView : UIImageView
    imageView  = UIImageView(frame:CGRectMake(10, 50, 100, 300));
    imageView.image = UIImage(named:"image.jpg")
    self.view.addSubview(imageView)
38
Shanmugasundharam

Cette réponse est mise à jour pour Swift 3.

Voici comment vous pouvez ajouter une vue d'image par programme où vous pouvez contrôler les contraintes.

Class ViewController: UIViewController {

    let someImageView: UIImageView = {
       let theImageView = UIImageView()
       theImageView.image = UIImage(named: "yourImage.png")
       theImageView.translatesAutoresizingMaskIntoConstraints = false //You need to call this property so the image is added to your view
       return theImageView
    }()

    override func viewDidLoad() {
       super.viewDidLoad()

       view.addSubview(someImageView) //This add it the view controller without constraints
       someImageViewConstraints() //This function is outside the viewDidLoad function that controls the constraints
    }

    // do not forget the `.isActive = true` after every constraint
    func someImageViewConstraints() {
        someImageView.widthAnchor.constraint(equalToConstant: 180).isActive = true
        someImageView.heightAnchor.constraint(equalToConstant: 180).isActive = true
        someImageView.centerXAnchor.constraint(equalTo: view.centerXAnchor).isActive = true
        someImageView.centerYAnchor.constraint(equalTo: view.centerYAnchor, constant: 28).isActive = true
    }

}
28
MEnnabah

Vous pouvez utiliser ci-dessus en une seule ligne.

  let imageView = UIImageView(image: UIImage(named: "yourImage.png")!)
15
Vikram Pote

Merci, MEnnabah, juste pour ajouter à votre code où il manque le signe = dans la déclaration:

let someImageView: UIImageView = {
   let theImageView = UIImageView()
   theImageView.image = UIImage(named: "yourImage.png")
   theImageView.translatesAutoresizingMaskIntoConstraints = false //You need to call this property so the image is added to your view
   return theImageView
}()

Tout le reste est parfait pour Swift 3.

9
Fullpower

Dans Swift 3.0:

var imageView : UIImageView
    imageView  = UIImageView(frame:CGRect(x:10, y:50, width:100, height:300));
    imageView.image = UIImage(named:"Test.jpeg")
    self.view.addSubview(imageView)
9
Sandeep Singh