আপনি কীভাবে একটি ইউআইআইজেইজ ভিউ তৈরি করবেন প্রোগ্রামিয়ালি - সুইফট


107

আমি প্রোগ্রামটিমেটিকভাবে একটি ইউআইআইজি ভিউ তৈরি করার চেষ্টা করছি, আমার একটি নতুন ভিউ আছে এবং আমি এটি করার চেষ্টা করেছি

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

এটি কার্যকর হয়নি কারণ দ্বিতীয় লাইনে এটি আপনার মতামতটি কী হওয়া উচিত তা আমি জানি না ।

প্রশ্ন: আমি কীভাবে কোনও ইউআইআইভিউজ ভিউ স্টোরিবোর্ডে না করে কোডিং করে পর্দায় উপস্থিত করব?


7
হাতের কাছে থাকা আপনার প্রশ্নের সাথে সম্পর্কিত নয়, তবে, বিটিডাব্লু, পূর্বেই জানানো উচিত যদি এই চিত্রটি এমন না হয় যা আপনাকে অনেক বেশি ব্যবহার করতে হবে, আপনি হয়ত ব্যবহার করতে চাইবেন না UIImage(named:...)। যেমন ডকস বলেছেন: "যদি আপনার কাছে এমন একটি চিত্র ফাইল থাকে যা কেবল একবার প্রদর্শিত হবে এবং এটি সিস্টেমের ক্যাশে যুক্ত না হয় তা নিশ্চিত করতে চান, পরিবর্তে আপনার চিত্রটি ব্যবহার করা উচিত UIImage(contentsOfFile:...)This এটি আপনার একক-ব্যবহারের চিত্রকে বহির্ভূত রাখবে সিস্টেম ইমেজ ক্যাশে, আপনার অ্যাপ্লিকেশনটির মেমরির ব্যবহারের বৈশিষ্ট্যগুলি উন্নত করে। " মাত্র একটি এফওয়াইআই
রব

উত্তর:


255

প্রথমে আপনি 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)

39

প্রথমে ইউআইআইমেজভিউ তৈরি করুন এবং তারপরে ইউআইআইমেজভিউতে চিত্র যুক্ত করুন।

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

31

এই উত্তরটি সুইফট 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
    }

}


12

সুইফটে 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)

1
আকার এবং স্কেল?
মার্টিয়ান2049

1
অনেকগুলি লাইনের কোডের জন্য অবহেলিত। ভালো হতে এটা ভালো লিখতে হবে: let imageView = UIImageView(named: "Test.jpeg"); self.view.addSubview(imageView)। 2 লাইন এবং আপনি ভেরিয়েবলের পরিবর্তে ধ্রুবক ব্যবহার করেন। তারপরে এটি স্থাপনের জন্য অটোকনস্ট্রেন্ট ব্যবহার করুন।
কাকুবেই

10

ধন্যবাদ, মেদিনাবাহ, কেবলমাত্র আপনার কোডটি যুক্ত করতে যেখানে আপনি =ঘোষণার বিবৃতিতে সাইনটি মিস করছেন :

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

সুইফটে 4.2 এবং এক্সকোড 10.1

//Create image view simply like this.
let imgView = UIImageView()
imgView.frame = CGRect(x: 200, y: 200, width: 200, height: 200)
imgView.image = UIImage(named: "yourimagename")//Assign image to ImageView
imgView.imgViewCorners()
view.addSubview(imgView)//Add image to our view

//Add image view properties like this(This is one of the way to add properties).  
extension UIImageView {
    //If you want only round corners
    func imgViewCorners() {
        layer.cornerRadius = 10
        layer.borderWidth = 1.0
        layer.masksToBounds = true
    }
}

এই উত্তরটি সুইফট ৪.২ এর জন্য কাজ করে। একজন নবজাতকের মতো কারও জন্য, এক্সটেনশন কোডটি বোঝার ক্ষেত্রে বিভ্রান্তি যোগ করতে পারে যদিও এটি থাকা এখনও ভাল।
মিডটাউনগুরু

-2

সুইফট 4:

প্রথমে আপনার ইউআইআইমেজভিউয়ের জন্য একটি আউটলেট তৈরি করুন

@IBOutlet var infoImage: UIImageView!

তারপরে ইউআইআইমেজভিউতে চিত্রের বৈশিষ্ট্যটি ব্যবহার করুন

infoImage.image = UIImage(named: "icons8-info-white")

দ্রুত লাইনে 4.2 এ "অপ্রত্যাশিতভাবে নিল যখন wচ্ছিক মোড়ক "চ্ছিকভাবে পাওয়া গেল" ত্রুটিটি দ্বিতীয় লাইন থেকে ছুঁড়ে দেওয়া হয়েছিল।
মিডটিউনগুরু
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.