无法建立此复选框? [英] Cannot get this checkbox to build?
问题描述
我尝试修复其他错误,因此看起来可能有些不同,但这是我能做到的最好。
重写功能didReceiveMemoryWarning(){super.didReceiveMemoryWarning()
Box49.setImage(#imageLiteral(resourceName: UnCheckBox ),用于:.normal)
Box49.setImage(#imageLiteral(resourceName: CheckBox),用于:.selected)
Box50.setImage(#imageLiteral(resourceName: UnCheckBox ),用于:.normal)
Box50.setImage(#imageLiteral(resourceName: CheckBox),用于:.selected)
Box51.setImage(#imageLiteral(resourceName: UnCheckBox ),用于:.normal)
Box51.setImage(#imageLiteral(resourceName: CheckBox),用于:.selected)
}
@IBAction func Box49(_ sender.UISelect){
sender.isSelected =!(发送者为AnyObject).isSelected
}
@IBAction func Box50(_ sender: UIButton){
sender.isSelected =!(发送者为AnyObject).isSelected
}
@IBAction函数Box51(_ sender:UIButton){
sender.isSelected =!(发送者为AnyObject).isSelected
}
首先您需要创建3个按钮出口因为您当前正在将图像设置为按钮操作,所以可以在界面生成器中同时设置选定图像和普通图像,或者创建如下所示的3个按钮插座。 c $ c> @IBOutlet var box49:UIButton!
@IBOutlet var box50:UIButton!
@IBOutlet var box51:UIButton!
现在在viewDidLoad或 viewDidAppear $ c中将图像设置为Button $ c>不在
didReceiveMemoryWarning
中,也无需将发送方强制转换为 AnyObject
来访问 isSelected
属性,因为发件人类型为 UIButton
,因此您可以直接访问 isSelected
属性。 / p>
var BoxOFF = #imageLiteral(resourceName: UnCheckBox)
var BoxON = #imageLiteral(resourceName: CheckBox )
覆写func viewDidAppear(_动画:布尔){
super.viewDidAppear(动画)
box49.setImage(BoxOFF,for:.normal)
box49.setImage(BoxON, for:.selected)
box50.setImage(BoxOFF,for:.normal)
box50.setImage(BoxON,for:.selected)
box51.setImage (BoxOFF,用于:.normal)
box51.setImage(BoxON,用于:.selected)
}
现在以这种方式设置按钮操作。
@IBAction func Box49(_ sender:Button){
sender.isSelected =!sender.isSelected
}
@IBAction func Box50(_ sender.isSelected =
sender.isSelected =!sender.isSelected
}
@IBAction func Box51(_ sender.Button){
sender .isSelected =!sender.isSelected
}
I tried to fix other errors so it may look tad different but this is the best i could do.
override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning()
Box49.setImage(#imageLiteral(resourceName: "UnCheckBox"), for: .normal)
Box49.setImage(#imageLiteral(resourceName: "CheckBox"), for: .selected)
Box50.setImage(#imageLiteral(resourceName: "UnCheckBox"), for: .normal)
Box50.setImage(#imageLiteral(resourceName: "CheckBox"), for: .selected)
Box51.setImage(#imageLiteral(resourceName: "UnCheckBox"), for: .normal)
Box51.setImage(#imageLiteral(resourceName: "CheckBox"), for: .selected)
}
@IBAction func Box49(_ sender: UIButton) {
sender.isSelected = !(sender as AnyObject).isSelected
}
@IBAction func Box50(_ sender: UIButton) {
sender.isSelected = !(sender as AnyObject).isSelected
}
@IBAction func Box51(_ sender: UIButton) {
sender.isSelected = !(sender as AnyObject).isSelected
}
First of all you need to create 3 outlet of button because you are currently setting image to button action, So either set both selected and normal image in your interface builder or create 3 button outlet like below.
@IBOutlet var box49: UIButton!
@IBOutlet var box50: UIButton!
@IBOutlet var box51: UIButton!
Now set the image to Button in either viewDidLoad or viewDidAppear
not in didReceiveMemoryWarning
also there is no need to cast sender to AnyObject
to access isSelected
property because sender type is UIButton
and so you can directly access isSelected
property.
var BoxOFF = #imageLiteral(resourceName: "UnCheckBox")
var BoxON = #imageLiteral(resourceName: "CheckBox")
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
box49.setImage(BoxOFF, for: .normal)
box49.setImage(BoxON, for: .selected)
box50.setImage(BoxOFF, for: .normal)
box50.setImage(BoxON, for: .selected)
box51.setImage(BoxOFF, for: .normal)
box51.setImage(BoxON, for: .selected)
}
And now set your button action this way.
@IBAction func Box49(_ sender: Button) {
sender.isSelected = !sender.isSelected
}
@IBAction func Box50(_ sender: Button) {
sender.isSelected = !sender.isSelected
}
@IBAction func Box51(_ sender: Button) {
sender.isSelected = !sender.isSelected
}
这篇关于无法建立此复选框?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!