Storyboard上のconstraintはOutletでコードと結びつけることができる

「Storyboard上のUIButtonなどのUI部品をOutletでコードと結ぶ」というのは、iPhoneプログラミングを学び始めた時に初期の段階で知ったのだけどれども、最近まで知らなかったのが、
Auto Layoutで用いるconstraintもOutletでコードと結びつける事ができる
ということ。

ボタンを配置して、constraitsを指定する
ss 2015-08-16 14.13.42
図では、
* width(幅): 80
* height(高さ): 40
* Leading Space to Super View(親Viewの左端からの距離): 30
* Bottom Space to Super View(親Viewの下端からの距離): 150
と指定。

そのまま実行すると、下図のようになる
ss 2015-08-16 16.08.19

このうち、Bottom Space to Super Viewのconstraintを選んで、
ss 2015-08-16 14.13.42

コードと結びつける
ss 2015-08-16 16.00.06

class ViewController: UIViewController {

    @IBOutlet weak var btnVerticalConstraint: NSLayoutConstraint!
    
    override func viewDidLoad() {
        super.viewDidLoad()
        // 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.
    }

}

結んでできたbtnVerticalConstraintはNSLayoutConstarintクラスのインスタンス。
NSLayoutConstraint Class Reference

プロパティconstantが、View間(ボタン下端と親view下端)の距離を示す

なので、

    @IBOutlet weak var btnVerticalConstraint: NSLayoutConstraint!
    
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
        
        btnVerticalConstraint.constant = 10
        
    }

として、実行すると、
ss 2015-08-16 16.26.27
のように、ボタンがViewの下端そばに表示される

コメントする

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください