2017-03-24 161 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

我編輯了我的問題..看看 –

相關問題