[英]How to add constrains in vertically aligned UIButtons in swift 2?
我在viewController中有三個垂直對齊的UIButton A,B,C。 我想以編程方式在按鈕C中添加約束,以便如果我隱藏/刪除按鈕B,則C應該位於B的位置,如果按鈕B出現,則C應該在B旁邊。我如何以編程方式添加約束。
注意:此版本不使用以編程方式應用的約束,但可以達到預期的效果!
我的Main.storyboard File
如下所示:
說明:我有3個按鈕插座和1個按鈕動作。 當您按下隱藏按鈕B時 , Button C
消失,但是Button B
收到標題Button C
及其動作,並且隱藏按鈕B變為顯示按鈕B。 按鈕的動作是Apressed()
, Bpressed()
和Cpressed()
。 您可以在其中添加自己的代碼,我僅以backgroundColor()
為例。
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var buttonA: UIButton!
@IBOutlet weak var buttonB: UIButton!
@IBOutlet weak var buttonC: UIButton!
var i = 0
override func viewDidLoad() {
super.viewDidLoad()
buttonA.addTarget(self, action: #selector(ViewController.Apressed), for: UIControlEvents.touchUpInside)
buttonB.addTarget(self, action: #selector(ViewController.Bpressed), for: UIControlEvents.touchUpInside)
buttonC.addTarget(self, action: #selector(ViewController.Cpressed), for: UIControlEvents.touchUpInside)
// Do any additional setup after loading the view, typically from a nib.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
@IBAction func hideB(_ sender: AnyObject) {
if i == 0{
buttonC.isHidden = true
buttonB.setTitle("Button C", for: .normal)
buttonB.removeTarget(self, action: #selector(ViewController.Bpressed), for: .touchUpInside)
buttonB.addTarget(self, action: #selector(ViewController.Cpressed), for: .touchUpInside)
i += 1
sender.setTitle("Show Button B", for: .normal)
}
else if i == 1{
buttonC.isHidden = false
buttonB.removeTarget(self, action: #selector(ViewController.Cpressed), for: .touchUpInside)
buttonB.addTarget(self, action: #selector(ViewController.Bpressed), for: UIControlEvents.touchUpInside)
buttonB.setTitle("Button B", for: .normal)
i = 0
sender.setTitle("Hide Button B", for: .normal)
}
}
func Apressed(){
self.view.backgroundColor = UIColor.red()
}
func Bpressed(){
self.view.backgroundColor = UIColor.green()
}
func Cpressed(){
self.view.backgroundColor = UIColor.yellow()
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.