親切すぎるiPhoneアプリ開発の本

画面配置を自動化してDynamic Typeにも対応するには? - Auto Layout

Icon comment count 0
Icon stock count 0

3 Auto Layout

Auto Layoutは2つの画面が互いにどのように影響しあうかを指定しておく事で、実際の画面配置をiOS側に任せるという仕組みです。

この2つの画面間の配置取り決めの事を制約と呼び、NSLayoutConstraintクラスで表現されます。

3.1 制約

実際に-viewDidLoadで各UILabelに制約を設定してみましょう。

↓ ViewController.swift サンプル:29/Autolayout-02
class ViewController: UIViewController {・・・
    override func viewDidLoad() {
            ・・・
        NSNotificationCenter.defaultCenter().addObserver(self, 
            selector:"contentSizeCategoryDidChange:", 
            name:UIContentSizeCategoryDidChangeNotification, object:nil)
        ↓Auto Layout機能追加
        var constraints = [NSLayoutConstraint]() ← 制約群収納用
        var upperObject:AnyObject = self.topLayoutGuide
        for label in self.lables {
            ↓labelに対しAuto Layoutを有効にする
            label.setTransla

出典情報

Medium

親切すぎるiPhoneアプリ開発の本

  • 著者: 國居 貴浩

コメント

    コメントはありません