我正在制作一个颜色选择器...如何在按下我的按钮时显示check
,以便用户知道该按钮被按下了。
这是我正在使用的代码
class popUpViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
self.showAnimate()
ASAP.tag=1
Soon.tag=2
Later.tag=3
Ages.tag=4
self.check.alpha=0
}
@IBOutlet weak var check: UIImageView!
@IBOutlet weak var Ages: UIButton!
@IBOutlet weak var Later: UIButton!
@IBOutlet weak var ASAP: UIButton!
@IBOutlet weak var Soon: UIButton!
@IBOutlet weak var mainView: UIView!
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
func buttonClicker(sender: UIButton){
switch sender.tag {
case 1:
self.check.alpha=1
default:
break
}
}
这些就像是选择优先级颜色的按钮,我在它上面添加了一个UIImageView ...我想要一个隐藏的刻度,当用户点击按钮时它会显示,并且只能在一个框中看到刻度。
答案 0 :(得分:2)
我只想说我个人不喜欢你接近这个问题的方式。
虽然你提出的解决方案可行(见下文),UIImage
之上的UIButton
并不是非常优雅......相反,我是{{1}的子类覆盖其UIButton
函数以创建一个完全自定义的按钮,该按钮将显示/隐藏"检查"当用户点击它时标记。
PaintCode可以帮助解决这个问题。我强烈推荐它。
现在回答......
您可以使用draw(_ rect: CGRect)
的{{1}}属性,如下所示:
isHidden
(请记住检查Interface Builder中的UIImageView
属性,以便// Connect the image.
@IBOutlet weak var checkImage: UIImageView!
// When users tap the button...
@IBAction func buttonTapped(_ sender: Any) {
// ... unhide / show the image.
checkImage.isHidden = !checkImage.isHidden
}
开始隐藏。)
您还需要在故事板中调整约束,以便isHidden
具有:
像这样:
最终结果(忽略该标题,这只是我正在处理的应用):
利润。
(在旁注中,在Swift中你不需要在块/闭包之外使用UIImage
。
也就是说,您不需要UIImageView
- 只需self
即可。)
答案 1 :(得分:0)
不是设置alpha值,而是使用视图的isHidden属性来隐藏和显示它。
class popUpViewController:UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
self.showAnimate()
ASAP.tag=1
Soon.tag=2
Later.tag=3
Ages.tag=4
self.check.isHidden = true
}
@IBOutlet weak var check: UIImageView!
@IBOutlet weak var Ages: UIButton!
@IBOutlet weak var Later: UIButton!
@IBOutlet weak var ASAP: UIButton!
@IBOutlet weak var Soon: UIButton!
@IBOutlet weak var mainView: UIView!
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
func buttonClicker(sender: UIButton){
switch sender.tag {
case 1:
self.check.isHidden = false
default:
break
}
}