无法建立此复选框? [英] Cannot get this checkbox to build?

查看:58
本文介绍了无法建立此复选框?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述



我尝试修复其他错误,因此看起来可能有些不同,但这是我能做到的最好。

 重写功能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 不在 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆