私は初心者のiOSデベロッパーです。マニュアルAutoLayout
を書く方法を学びたいと思います。 AutoLayout
の動作を視覚的に許可するリンクが見つかりました。詳細については、以下のリンクを参照してください。手動のAutoLayout制約を書き込む方法は?
しかし、それはときに、他のあそこの成分とそれに応じて関係それがどのように動作するか許可していません。
このような迅速な対応をありがとう、私は私の問題をより明確にすることができれば幸いです。
私は初心者のiOSデベロッパーです。マニュアルAutoLayout
を書く方法を学びたいと思います。 AutoLayout
の動作を視覚的に許可するリンクが見つかりました。詳細については、以下のリンクを参照してください。手動のAutoLayout制約を書き込む方法は?
しかし、それはときに、他のあそこの成分とそれに応じて関係それがどのように動作するか許可していません。
このような迅速な対応をありがとう、私は私の問題をより明確にすることができれば幸いです。
マニュアルでは、コードで制約を適用することを意味します。
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)
あなたはGoogleにもっと知っている大胆なことができます。 しかし、これ以上のものはありません。https://developer.apple.com/library/content/documentation/UserExperience/Conceptual/AutolayoutPG/index.html#//apple_ref/doc/uid/TP40010853-CH7-SW1 このドキュメントでは、他のコンポーネント(ビュー)とそれらの関係に適用される制約を適用する例があります。
SnapkitまたはSwiftyLayoutのようなサードパーティライブラリを使用できます。
あなたはプログラムで制約を設定する方法を尋ねていますか?はいの場合は、ストーリーボードをまったく使用したり、計画的にすべてを実装したりする予定ですか?
あなたはそれをすべてをしたい場合は、プログラム的には、次のようになります。これは、あなたの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に設定すると、制約に従わなくなります。