NSLayoutConstraints class
ভিতরে অনুযায়ীUIKit Module
যদি সীমাবদ্ধতার অগ্রাধিকার স্তরটি ইউআইএলআউটপ্রাইটিটির প্রয়োজনীয়তা থেকে কম হয়, তবে এটি alচ্ছিক। নিম্ন অগ্রাধিকারের সীমাবদ্ধতার আগে উচ্চতর অগ্রাধিকারের সীমাবদ্ধতাগুলি পূরণ করা হয়। বাধা সন্তুষ্টি সব বা কিছুই না। যদি 'a == b' সীমাবদ্ধতা alচ্ছিক হয়, তার অর্থ আমরা 'অ্যাবস (অ্যাব)' হ্রাস করার চেষ্টা করব। এই সম্পত্তিটি কেবলমাত্র প্রাথমিক সেট আপের অংশ হিসাবে বা whenচ্ছিকভাবে পরিবর্তিত হতে পারে। একটি দৃশ্যে একটি প্রতিবন্ধকতা যুক্ত হওয়ার পরে, অগ্রাধিকারটি NSLayoutPriorityRequired থেকে / এ পরিবর্তন করা হলে একটি ব্যতিক্রম ছুঁড়ে দেওয়া হবে।
উদাহরণ: - UIButton
বিভিন্ন অগ্রাধিকার সহিত বাধা -
func setConstraints() {
buttonMessage.translatesAutoresizingMaskIntoConstraints = false
NSLayoutConstraint(item: buttonMessage, attribute: .bottom, relatedBy: .equal, toItem: view, attribute: .bottom, multiplier: 1.0, constant: -10).isActive = true
let leading = NSLayoutConstraint(item: buttonMessage, attribute: .leading, relatedBy: .equal, toItem: view, attribute: .leading, multiplier: 1.0, constant: 10)
leading.isActive = true
let widthConstraint = NSLayoutConstraint(item: buttonMessage, attribute: NSLayoutAttribute.width, relatedBy: NSLayoutRelation.equal, toItem: nil, attribute: NSLayoutAttribute.notAnAttribute, multiplier: 1, constant: 100)
let heightConstraint = NSLayoutConstraint(item: buttonMessage, attribute: NSLayoutAttribute.height, relatedBy: NSLayoutRelation.equal, toItem: nil, attribute: NSLayoutAttribute.notAnAttribute, multiplier: 1, constant: 50)
let trailingToSuperView = NSLayoutConstraint(item: buttonMessage, attribute: .trailing, relatedBy: .equal, toItem: view, attribute: .trailing, multiplier: 1, constant: 0)
trailingToSuperView.priority = 999
trailingToSuperView.isActive = true
buttonMessage.addConstraints([widthConstraint,heightConstraint])
}