सवाल आप UIImage व्यू प्रोग्रामेटिक रूप से कैसे बनाते हैं - स्विफ्ट


मैं प्रोग्रामिंग के रूप में UIImage व्यू बनाने की कोशिश कर रहा हूं, मेरे पास एक नया दृश्य है और मैंने इसे करने का प्रयास किया

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

यह काम नहीं किया क्योंकि मुझे नहीं पता कि यह क्या होना चाहिए आपकै विचार दूसरी पंक्ति में।

सवाल: मैं स्टोरीबोर्ड में इसे करने के बजाय इसे कोडिंग करके स्क्रीन पर UIImageView कैसे दिखाई दूं


75
2017-10-26 02:59


मूल


हाथ में आपके प्रश्न से असंबंधित, लेकिन, बीटीडब्ल्यू, अगर यह छवि एक ऐसा नहीं है जिसे आपको बहुत उपयोग करने की आवश्यकता होगी, तो आप पहले से उपयोग करने की आवश्यकता नहीं होगी UIImage(named:...)। चूंकि दस्तावेज़ कहते हैं: "यदि आपके पास एक छवि फ़ाइल है जो केवल एक बार प्रदर्शित की जाएगी और यह सुनिश्चित करना चाहती है कि यह सिस्टम के कैश में नहीं जोड़ा गया है, तो आपको इसके बजाय अपनी छवि बनाना चाहिए UIImage(contentsOfFile:...)। यह आपके एकल-उपयोग छवि को सिस्टम छवि कैश से बाहर रखेगा, संभावित रूप से आपके ऐप की मेमोरी उपयोग विशेषताओं में सुधार करेगा। "बस एक एफवाईआई। - Rob


जवाब:


सबसे पहले आप एक बनाते हैं UIImage अपनी छवि फ़ाइल से, फिर एक बनाएँ UIImageView उसमें से:

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

अंत में आपको देने की आवश्यकता होगी imageView एक फ्रेम और दृश्यमान होने के लिए इसे अपना दृश्य जोड़ें:

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

194
2017-10-26 03:05





पहले UIImageView बनाएं, फिर 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





यह उत्तर स्विफ्ट 3 के लिए अद्यतन है।

इस प्रकार आप एक छवि दृश्य प्रोग्रामेटिक रूप से जोड़ सकते हैं जहां आप बाधाओं को नियंत्रित कर सकते हैं।

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





आप ऊपर एक पंक्ति में उपयोग कर सकते हैं।

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

11
2017-10-08 05:40



आप कर सकते हैं, लेकिन यह बिल्कुल "साफ" स्विफ्ट नहीं है - Alec O


धन्यवाद, मन्नबाबा, बस अपने कोड में जोड़ने के लिए जहां आप गायब हैं = घोषणा कथन में साइन इन करें:

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

बाकी सब कुछ है, स्विफ्ट 3 के लिए बिल्कुल सही है।


6
2018-03-13 16:42



बढ़िया, संपादन के लिए धन्यवाद - MEnnabah


स्विफ्ट 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



आकार और पैमाने? - Martian2049