उपयोग चर उदाहरण
//write this in your class
var isHighLighted:Bool = false
override func viewDidLoad() {
let button = UIButton(type: .system)
button.setTitle("Your title", forState: UIControlState.Normal)
button.frame = CGRectMake(0, 0, 100, 44)
self.view.addSubview(button as UIView)
button.addTarget(self, action: "buttonClicked:", forControlEvents: UIControlEvents.TouchUpInside)
}
func buttonClicked(sender:UIButton)
{
dispatch_async(dispatch_get_main_queue(), {
if isHighLighted == false{
sender.highlighted = true;
isHighLighted = true
}else{
sender.highlighted = false;
isHighLighted = false
}
});
}
मैं चयनित राज्य के बजाय selected
राज्य highlighted
नीचे कोड demonstarate उपयोग करने के लिए सिफारिश के रूप में isHighLighted
घोषित
override func viewDidLoad() {
let button = UIButton(type: .system)
button.setTitle("Your title", forState: UIControlState.Normal)
button.frame = CGRectMake(0, 0, 100, 44)
self.view.addSubview(button as UIView)
//set normal image
button.setImage(normalImage, forState: UIControlState.Normal)
//set highlighted image
button.setImage(selectedImage, forState: UIControlState.Selected)
button.addTarget(self, action: "buttonClicked:", forControlEvents: UIControlEvents.TouchUpInside)
}
func buttonClicked(sender:UIButton)
{
sender.selected = !sender.selected;
}
के साथ हाइलाइट करता है, मुझे नहीं लगता कि आपने कोड में "isHighLigthed" घोषित किया है। मैं देखता हूं कि आप "isHighLighted" के मूल्य की जांच कर रहे हैं, लेकिन जहां आप वास्तव में इसे घोषित नहीं करते हैं – dcbenji
'कक्षा एबीसी {'line' var isHighLighted: Bool = false' के बाद इसे घोषित करें। यह सही काम करेगा – codester
@ user3822654 आप वैन भी चुनते हैं राज्य के रूप में व्यवहार करने के लिए अधिक उपयोग किया जाता है। आपको 'चयनितस्टेट' के लिए दो सामान्य छवियों को 'सामान्यस्टेट' के लिए सेट करने की आवश्यकता है। उम्मीद है कि यह – codester