2016-11-16 4 views
2

私は初心者のiOSデベロッパーです。マニュアルAutoLayoutを書く方法を学びたいと思います。 AutoLayoutの動作を視覚的に許可するリンクが見つかりました。詳細については、以下のリンクを参照してください。手動のAutoLayout制約を書き込む方法は?

URL:https://autolayoutconstraints.com/

しかし、それはときに、他のあそこの成分とそれに応じて関係それがどのように動作するか許可していません。

このような迅速な対応をありがとう、私は私の問題をより明確にすることができれば幸いです。

答えて

1

マニュアルでは、コードで制約を適用することを意味します。

Autolayoutは常に存在し続けて以来、常に進化を続けています。 コードで制約を適用するには、これらの3つの手法のいずれかを使用できます。 (最も簡単かつ下部の最新技術)

旧冗長な制約を用いる方法、(constraintWithItem

+(instancetype)constraintWithItem:(id)view1 attribute:(NSLayoutAttribute)attr1 relatedBy:(NSLayoutRelation)relation toItem:(nullable id)view2 attribute:(NSLayoutAttribute)attr2 multiplier:(CGFloat)multiplier constant:(CGFloat)c 

ビジュアルフォーマット言語https://developer.apple.com/library/content/documentation/UserExperience/Conceptual/AutolayoutPG/VisualFormatLanguage.html

レイアウトアンカーhttps://developer.apple.com/library/content/documentation/UserExperience/Conceptual/AutolayoutPG/ProgrammaticallyCreatingConstraints.html#//apple_ref/doc/uid/TP40010853-CH16-SW5

あなたはGoogleにもっと知っている大胆なことができます。 しかし、これ以上のものはありません。https://developer.apple.com/library/content/documentation/UserExperience/Conceptual/AutolayoutPG/index.html#//apple_ref/doc/uid/TP40010853-CH7-SW1 このドキュメントでは、他のコンポーネント(ビュー)とそれらの関係に適用される制約を適用する例があります。

1

SnapkitまたはSwiftyLayoutのようなサードパーティライブラリを使用できます。

1

あなたはプログラムで制約を設定する方法を尋ねていますか?はいの場合は、ストーリーボードをまったく使用したり、計画的にすべてを実装したりする予定ですか?

あなたはそれをすべてをしたい場合は、プログラム的には、次のようになります。これは、あなたのViewControllerでラベルを作成し、50個のピクセルのセットの高さで左右と下にそれをピンう

class someViewController: UIViewController{ 
    let myLabel: UILabel = { 
     let label = UILabel() 
     label.translatesAutoresizingMaskIntoConstraints = false 
     label.text = "Hello" 
    } 

    override func viewDidLoad() { 
     super.viewDidLoad() 

     view.addSubView(myLabel) 

     myLabel.leftAnchor.constraint(equalTo: view.leftAnchor).isActive = true 
     myLabel.rightAnchor.constraint(equalTo: view.rightAnchor).isActive = true 
     myLabel.bottomAnchor.constraint(equalTo: view.bottomAnchor).isActive = true 
     myLabel.heightAnchor.constraint(equalToConstant: 50).isActive = true 
    } 
} 

。アイテムのアンカーを探して、それを希望の値に設定することで、アイテムの制約のいずれかを見つけることができます。 を必ず変換してください.AutoizingMaskIntoConstraintsをfalseに設定すると、制約に従わなくなります。

関連する問題