উত্তর:
আপনার ওবিসি-সি কোড থেকে আমার মনে হয় আপনি বোতামের জন্য একটি চিত্র সেট করতে চান তাই এইভাবে চেষ্টা করুন:
let playButton = UIButton(type: .Custom)
if let image = UIImage(named: "play.png") {
playButton.setImage(image, forState: .Normal)
}
সংক্ষেপে:
playButton.setImage(UIImage(named: "play.png"), forState: UIControlState.Normal)
সুইফ্ট 3 এর জন্য:
let playButton = UIButton(type: .custom)
playButton.setImage(UIImage(named: "play.png"), for: .normal)
playButton.setImage(UIImage(named: "play.png"), for: .normal)
সুইফট 4, (এক্সকোড 9) এ বোতামের ছবি চালু বা বন্ধ করতে (বিটিএনআরসি) উদাহরণ করুন:
var bRec:Bool = true
@IBOutlet weak var btnRec: UIButton!
@IBAction func btnRec(_ sender: Any) {
bRec = !bRec
if bRec {
btnRec.setImage(UIImage(named: "MicOn.png"), for: .normal)
} else {
btnRec.setImage(UIImage(named: "MicOff.png"), for: .normal)
}
}
ধরুন এটি আপনার সংযুক্ত UIButton Name
মত
@IBOutlet var btn_refresh: UIButton!
আপনি সরাসরি তিনটি মোডে আপনার ইমেজ রাখতে পারেন
// for normal state
btn_refresh.setImage(UIImage(named: "xxx.png"), forState: UIControlState.Normal)
// for Highlighted state
btn_refresh.setImage(UIImage(named: "yyy.png"), forState: UIControlState.Highlighted)
// for Selected state
btn_refresh.setImage(UIImage(named: "zzzz.png"), forState: UIControlState.Selected)
আপনার বোতাম ক্রিয়া
//MARK: button_refresh action
@IBAction func button_refresh_touchup_inside(sender: UIButton)
{
//if you set the image on same UIButton
sender.setImage(UIImage(named: "newimage.png"), forState: UIControlState.Normal)
//if you set the image on another UIButton
youranotherbuttonName.setImage(UIImage(named: "newimage.png"), forState: UIControlState.Normal)
}
আমি প্রথমে শীর্ষে আমার ভেরিয়েবলগুলি শুরু করার পদ্ধতিটি পছন্দ করি:
let playButton:UIButton!
var image:UIImage!
এবং তারপরে সেগুলিকে ভিউডিডলয়েডে সেট করুন
override func viewDidLoad {
...
playButton = UIButton(type: .Custom)
imagePlay = UIImage(named:"play.png")
playButton.setImage(imagePlay, forState: .Normal)
}
হ্যাঁ, এমনকি আমরা পতাকা ব্যবহার করে ইউআইবাটনটির চিত্রও পরিবর্তন করতে পারি।
class ViewController: UIViewController
{
@IBOutlet var btnImage: UIButton!
var flag = false
override func viewDidLoad()
{
super.viewDidLoad()
//setting default image for button
setButtonImage()
}
@IBAction func btnClick(_ sender: Any)
{
flag = !flag
setButtonImage()
}
func setButtonImage(){
let imgName = flag ? "share" : "image"
let image1 = UIImage(named: "\(imgName).png")!
self.btnImage.setImage(image1, for: .normal)
}
}
এখানে, প্রতিটি ক্লিকের পরে আপনার বোতামের চিত্রটি বিকল্পভাবে পরিবর্তিত হবে।
সুইফট 5 এবং বোতামের আকারে চিত্রের স্কেলগুলি নিশ্চিত করে তবে বোতামের সীমানার মধ্যেই থাকে।
yourButton.clipsToBounds = true
yourButton.contentMode = .scaleAspectFill
// Use setBackgroundImage or setImage
yourButton.setBackgroundImage(UIImage(named: "yourImage"), for: .normal)
আপনি এটি বোতামটি হাইলাইট করে এবং ডান হাতের সরঞ্জাম বারে ইনসেক্টরটির মধ্যে চিত্রটি আপডেট করতে পারেন। স্পষ্টতই আপনি কোড হিসাবে এটি পূর্বে উল্লিখিত হিসাবে করতে পারেন তবে এটি আপনার জন্য অন্য একটি বিকল্প
সুইফটে 4.2 এবং এক্সকোড 10.1
নির্বাচিত ইউআইবাটন জন্য চিত্র যুক্ত করুন
button.addTarget(self, action: #selector(self.onclickDateCheckMark), for: .touchUpInside)//Target
button.setImage(UIImage.init(named: "uncheck"), for: UIControl.State.normal)//When selected
button.setImage(UIImage.init(named: "check"), for: UIControl.State.highlighted)//When highlighted
button.setImage(UIImage.init(named: "check"), for: UIControl.State.selected)//When selected
তবে আপনি যদি নির্বাচিত বোতামের চিত্রটি পরিবর্তন করতে চান তবে আপনাকে এটির নির্বাচিত স্থিতি পরিবর্তন করতে হবে। তারপরে কেবল বাছাইকৃত চিত্রটি আপনার বোতামে উপস্থিত হবে।
@objc func onclickDateCheckMark(sender:UIButton) {
if sender.isSelected == true {
sender.isSelected = false
print("not Selected")
}else {
sender.isSelected = true
print("Selected")
}
}
দ্রুত 3.0 :
@IBOutlet weak var selectionButton: UIButton!
selectionButton.setImage(UIImage.addBlueIcon, for: .selected)