2017-03-24 121 views
-2

我正在做一个颜色选择器弹出...当我按下按钮时,如何显示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 ......我想它隐藏和显示当一个勾号用户点击按钮,只能在一个框中看到勾号。

回答

2

让我只是说我个人不喜欢你接近这个问题的方式。

虽然你的建议的解决方案将工作(见下文),一个UIImageUIButton的顶部是不是很优雅......相反,我会继承UIButton覆盖其draw(_ rect: CGRect)函数来创建一个完全自定义的按钮,将显示/用户点击时隐藏“检查”标记。
PaintCode可以帮助。我强烈推荐它。

我们答案......


您可以使用UIImageViewisHidden属性,像这样:

// 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 
} 

(记住要检查在Interface Builder中isHidden属性,因此UIImage开始隐藏。)

您还需要调整故事板中的约束,该UIImageView具有:

  • 对齐追踪到:按钮
  • 居中y以:按钮(中心垂直地)
  • 高度/宽度限制

像这样:

constraints

最终结果(忽略头,这只是一个应用程序我工作):

result

利润。

(在一个侧面说明,在斯威夫特你不需要使用self外块/关闭的
也就是说,你不需要self.check.alpha - 。只是check.alpha会做)

+0

我已经编辑我的问题..看看 –

+1

我已经更新了我的答案。 –

0

而不是设置alpha值,我会使用视图的isHidden属性来隐藏和显示它。

类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 
    } 
} 
+0

我编辑了我的问题..看看 –

相关问题