Câu hỏi Làm cách nào để tạo Chế độ xem UIImage theo Lập trình - Swift


Tôi đang cố tạo Chế độ xem UIImage theo lập trình, tôi có một chế độ xem mới và tôi đã thử làm điều này

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

điều này không hiệu quả vì tôi không biết điều này nên là gì xem của bạn trong dòng thứ hai.

Câu hỏi: Làm cách nào để tạo UIImageView xuất hiện trên màn hình bằng cách mã hóa nó thay vì thực hiện nó trong bảng phân cảnh


75
2017-10-26 02:59


gốc


Không liên quan đến câu hỏi của bạn trong tầm tay, nhưng, BTW, được cảnh báo trước nếu hình ảnh này không phải là hình ảnh bạn sẽ cần sử dụng nhiều, có thể bạn không muốn sử dụng UIImage(named:...). Theo tài liệu nói: "Nếu bạn có tệp hình ảnh sẽ chỉ được hiển thị một lần và muốn đảm bảo rằng nó không được thêm vào bộ nhớ cache của hệ thống, bạn nên tạo hình ảnh của mình bằng cách sử dụng UIImage(contentsOfFile:...). Điều này sẽ giữ cho hình ảnh sử dụng một lần của bạn ra khỏi bộ nhớ cache hình ảnh hệ thống, có khả năng cải thiện các đặc điểm sử dụng bộ nhớ của ứng dụng của bạn. "Chỉ là một FYI. - Rob


Các câu trả lời:


Trước tiên, bạn tạo một UIImage từ tệp hình ảnh của bạn, sau đó tạo UIImageView từ đó:

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

Cuối cùng bạn sẽ cần phải cung cấp cho imageView một khung và thêm nó vào khung nhìn của bạn để nó hiển thị:

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

194
2017-10-26 03:05





Đầu tiên tạo UIImageView sau đó thêm hình ảnh trong UIImageView.

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

31
2018-03-25 17:52





Câu trả lời này được cập nhật lên Swift 3.

Đây là cách bạn có thể thêm chế độ xem hình ảnh theo chương trình nơi bạn có thể kiểm soát các ràng buộc.

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
    }

}

15
2017-12-26 09:45





Bạn có thể sử dụng ở trên trong một dòng.

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

11
2017-10-08 05:40



Bạn có thể, nhưng nó không chính xác "sạch" Swift - Alec O


Cảm ơn, MEnnabah, chỉ để thêm vào mã của bạn nơi bạn đang bỏ lỡ = ký tên vào tờ khai tuyên bố:

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
}()

Mọi thứ khác, tất cả đều hoàn hảo cho Swift 3.


6
2018-03-13 16:42



Tuyệt vời, cảm ơn vì đã chỉnh sửa - MEnnabah


Trong 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)

5
2018-05-26 08:32



kích thước và quy mô? - Martian2049