আমি ইউআইভিউ-র কাস্টম সীমানার রঙটি প্রোগ্রাম্টিকভাবে সুইফটে সেট করার চেষ্টা করছি am
আমি ইউআইভিউ-র কাস্টম সীমানার রঙটি প্রোগ্রাম্টিকভাবে সুইফটে সেট করার চেষ্টা করছি am
উত্তর:
আপনি যদি সুইফট ২.০+ ব্যবহার করেন
self.yourView.layer.borderWidth = 1
self.yourView.layer.borderColor = UIColor(red:222/255, green:225/255, blue:227/255, alpha: 1).cgColor
ইন সুইফট 4 আপনি সীমানার রঙ সেট এবং কোড নিচে ব্যবহার UIControls প্রস্থকে পারবেন না।
let yourColor : UIColor = UIColor( red: 0.7, green: 0.3, blue:0.1, alpha: 1.0 )
yourControl.layer.masksToBounds = true
yourControl.layer.borderColor = yourColor.CGColor
yourControl.layer.borderWidth = 1.0
<সুইফ্ট 4 , আপনি নীচের কোডটি ব্যবহার করে ইউআইভিউ'র সীমানা প্রস্থ এবং সীমানার রঙ সেট করতে পারেন।
yourView.layer.borderWidth = 1
yourView.layer.borderColor = UIColor.red.cgColor
এটি করতে @IBDesignable এবং @IBInspectable ব্যবহার করুন ।
এগুলি পুনরায় ব্যবহারযোগ্য, ইন্টারফেস বিল্ডার থেকে সহজেই পরিবর্তনযোগ্য এবং পরিবর্তনগুলি অবিলম্বে স্টোরিবোর্ডে প্রতিফলিত হয়
স্টোরিবোর্ডে থাকা বস্তুকে নির্দিষ্ট শ্রেণিতে রূপান্তর করুন
টুকিটাকি সংকেতলিপি:
@IBDesignable
class CustomView: UIView{
@IBInspectable var borderWidth: CGFloat = 0.0{
didSet{
self.layer.borderWidth = borderWidth
}
}
@IBInspectable var borderColor: UIColor = UIColor.clear {
didSet {
self.layer.borderColor = borderColor.cgColor
}
}
override func prepareForInterfaceBuilder() {
super.prepareForInterfaceBuilder()
}
}
ইন্টারফেস বিল্ডার থেকে সহজ পরিবর্তনের অনুমতি দেয়:
@IBDesignableএবং @IBInspectableসমস্ত কাজ ঠিকঠাক, তাই শুল্কের অন্ধকার / হালকা উভয় মোডের সাথে রঙিন সম্পদগুলি ব্যবহার করার একটি উপায় থাকা উচিত ~ যে কেউ কীভাবে এটি অর্জন করতে পারে জানেন?
আপনি সমস্ত ইউআইভিউজের সাথে এটি ব্যবহার করতে এক্সটেনশন লিখতে পারেন যেমন, ইউআইবাটন, ইউআইএলবেল, ইউআইআইমেজভিউ ইত্যাদি You আপনি আপনার প্রয়োজনীয়তা অনুসারে আমার নিম্নলিখিত পদ্ধতিটি কাস্টমাইজ করতে পারেন তবে আমি মনে করি এটি আপনার পক্ষে ভালভাবে কাজ করবে।
extension UIView{
func setBorder(radius:CGFloat, color:UIColor = UIColor.clearColor()) -> UIView{
var roundView:UIView = self
roundView.layer.cornerRadius = CGFloat(radius)
roundView.layer.borderWidth = 1
roundView.layer.borderColor = color.CGColor
roundView.clipsToBounds = true
return roundView
}
}
ব্যবহার:
btnLogin.setBorder(7, color: UIColor.lightGrayColor())
imgViewUserPick.setBorder(10)
সুইফ্ট 5.2 , ইউআইভিউ + এক্সটেনশন
extension UIView {
public func addViewBorder(borderColor:CGColor,borderWith:CGFloat,borderCornerRadius:CGFloat){
self.layer.borderWidth = borderWith
self.layer.borderColor = borderColor
self.layer.cornerRadius = borderCornerRadius
}
}
আপনি এই এক্সটেনশনটি ব্যবহার করেছেন;
yourView.addViewBorder(borderColor: #colorLiteral(red: 0.6, green: 0.6, blue: 0.6, alpha: 1), borderWith: 1.0, borderCornerRadius: 20)
দ্রুত 3
func borderColor(){
self.viewMenuItems.layer.cornerRadius = 13
self.viewMenuItems.layer.borderWidth = 1
self.viewMenuItems.layer.borderColor = UIColor.white.cgColor
}
আপনার কোডটি লিখুন viewDidLoad()
self.view.layer.borderColor = anyColor().CGColor
আর তুমি সেট করতে পারেন Colorসঙ্গেRGB
func anyColor() -> UIColor {
return UIColor(red: 0.0/255.0, green: 0.0/255.0, blue: 0.0/255.0, alpha: 1.0)
}
CALayerমধ্যে কিছু শিখুনUIKit
দ্রুত 3.0
self.uiTextView.layer.borderWidth = 0.5
self.txtItemShortDes.layer.borderColor = UIColor(red:205.0/255.0, green:205.0/255.0, blue:205.0/255.0, alpha: 1.0).cgColor
আমরা এর জন্য পদ্ধতি তৈরি করতে পারি। কেবল এটি ব্যবহার করুন।
public func createBorderForView(color: UIColor, radius: CGFloat, width: CGFloat = 0.7) {
self.layer.borderWidth = width
self.layer.cornerRadius = radius
self.layer.shouldRasterize = false
self.layer.rasterizationScale = 2
self.clipsToBounds = true
self.layer.masksToBounds = true
let cgColor: CGColor = color.cgColor
self.layer.borderColor = cgColor
}
সুইফট 3.0
groundTrump.layer.borderColor = UIColor.red.cgColor