プログラムでUIViewに制約を追加する

TNguyen

プログラムでUIをあまり実行していませんが、UIViewがあり、UILabelをUIViewの左上隅に制約し、次に別のUILabelを右上隅に制約したいと考えています。私はGUIでこれを行う方法を完全に知っていますが、これを純粋に迅速に/プログラムで行うにはどうすればよいのか疑問に思いました。

ニール・ガリアスカロフ

これはNSLayoutConstraintクラスで行われます。

まず、ラベルをサブビューとして追加します。

let label = UILabel()   
label.translatesAutoresizingMaskIntoConstraints = false

view.addSubview(label)

これは、サブビューに制約を簡単に追加するための私の拡張機能です。ここであなたが勉強するための主な方法はfunc pin(firstSubview subview1:UIView, firstEdge edge1:NSLayoutAttribute, secondSubview subview2:UIView, secondEdge edge2:NSLayoutAttribute, with constant:Float)

     extension UIView {
          func pinSubview(_ subview:UIView, toEdge edge:NSLayoutAttribute, withConstant constant:Float) {
            self.pinSubviews(self, subview2: subview, toEdge: edge, withConstant: constant)
          }

          func pinSubviews(_ subview1:UIView, subview2:UIView, toEdge edge:NSLayoutAttribute, withConstant constant:Float) {
            pin(firstSubview: subview1, firstEdge: edge, secondSubview: subview2, secondEdge: edge, with: constant)
          }

          func pin(firstSubview subview1:UIView, firstEdge edge1:NSLayoutAttribute, secondSubview subview2:UIView, secondEdge edge2:NSLayoutAttribute, with constant:Float) {
            let constraint = NSLayoutConstraint(item: subview1, attribute: edge1, relatedBy: .equal, toItem: subview2, attribute: edge2, multiplier: 1, constant: CGFloat(constant))
            self.addConstraint(constraint)
          }

          func pinSubview(_ subview:UIView, withHeight height:CGFloat) {
            let height = NSLayoutConstraint(item: subview, attribute: .height, relatedBy: .equal, toItem: nil, attribute: .notAnAttribute, multiplier: 1, constant: height)
            self.addConstraint(height)
          }

          func pinSubview(_ subview:UIView, withWidth width:CGFloat) {
            let width = NSLayoutConstraint(item: subview, attribute: .width, relatedBy: .equal, toItem: nil, attribute: .notAnAttribute, multiplier: 1, constant: width)
            self.addConstraint(width)
          }        
    }

次に、非常に簡単な使用法があります。

self.view.pinSubview(label, toEdge: .left, withConstant: 0)
self.view.pinSubview(label, toEdge: .top, withConstant: 0)

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

UITextViewを使用してUIViewにプログラムで制約を追加する

分類Dev

プログラムで迅速に制約を追加する

分類Dev

プログラムでUITextFieldに制約を追加する

分類Dev

プログラムでビューに制約を追加する

分類Dev

プログラムによる制約を使用するときにCAGradientLayerをUIViewに追加する方法

分類Dev

プログラムでcollectionViewCellに制約を追加しますか?

分類Dev

プログラムで負の制約を追加する

分類Dev

プログラムでConstraintLayoutにビューと制約を追加する方法?

分類Dev

UIButtonにプログラムで追加された制約を変更する方法

分類Dev

プログラムでUIImageに制約を追加する際の問題| 迅速

分類Dev

iOS:UIViewの高さ制約をプログラムで変更する

分類Dev

自動レイアウトを使用してUIViewを非表示にするときに、プログラムで制約を追加します

分類Dev

自動レイアウト制約をプログラムで追加すると、Swiftでuiviewが黒に変わります

分類Dev

Swift4-制約をプログラムで使用した後にUIViewの境界を取得する方法

分類Dev

プログラムでSwiftをnavigationBarに制約を追加

分類Dev

ConstraintLayoutでのプログラムによる制約の削除/追加

分類Dev

ConstraintLayoutでのプログラムによる制約の削除/追加

分類Dev

Objective-Cでプログラムによる制約の追加

分類Dev

Swiftのビューにプログラムで制約を追加するとエラーが発生する

分類Dev

プログラムで制約のあるビューにカスタムボタンを追加する

分類Dev

iOSがSwiftでプログラムにより制約を追加

分類Dev

テーブル セルにプログラムで追加されたラベルにプログラムで制約を追加する

分類Dev

プログラムでビデオに制約を追加することはできません

分類Dev

プログラムでUIConstraintsを追加するときに、末尾の制約が適用されない

分類Dev

プログラムでUIViewの一定の高さ制約を更新する方法は?

分類Dev

UIViewのサブビューの自動レイアウト制約をプログラムで設定する

分類Dev

テーブルビューフッターでUIViewの制約をプログラムで設定するにはどうすればよいですか?

分類Dev

比例制約をプログラムで迅速に変更する5

分類Dev

ConstraintLayout:プログラムで制約を変更する

Related 関連記事

  1. 1

    UITextViewを使用してUIViewにプログラムで制約を追加する

  2. 2

    プログラムで迅速に制約を追加する

  3. 3

    プログラムでUITextFieldに制約を追加する

  4. 4

    プログラムでビューに制約を追加する

  5. 5

    プログラムによる制約を使用するときにCAGradientLayerをUIViewに追加する方法

  6. 6

    プログラムでcollectionViewCellに制約を追加しますか?

  7. 7

    プログラムで負の制約を追加する

  8. 8

    プログラムでConstraintLayoutにビューと制約を追加する方法?

  9. 9

    UIButtonにプログラムで追加された制約を変更する方法

  10. 10

    プログラムでUIImageに制約を追加する際の問題| 迅速

  11. 11

    iOS:UIViewの高さ制約をプログラムで変更する

  12. 12

    自動レイアウトを使用してUIViewを非表示にするときに、プログラムで制約を追加します

  13. 13

    自動レイアウト制約をプログラムで追加すると、Swiftでuiviewが黒に変わります

  14. 14

    Swift4-制約をプログラムで使用した後にUIViewの境界を取得する方法

  15. 15

    プログラムでSwiftをnavigationBarに制約を追加

  16. 16

    ConstraintLayoutでのプログラムによる制約の削除/追加

  17. 17

    ConstraintLayoutでのプログラムによる制約の削除/追加

  18. 18

    Objective-Cでプログラムによる制約の追加

  19. 19

    Swiftのビューにプログラムで制約を追加するとエラーが発生する

  20. 20

    プログラムで制約のあるビューにカスタムボタンを追加する

  21. 21

    iOSがSwiftでプログラムにより制約を追加

  22. 22

    テーブル セルにプログラムで追加されたラベルにプログラムで制約を追加する

  23. 23

    プログラムでビデオに制約を追加することはできません

  24. 24

    プログラムでUIConstraintsを追加するときに、末尾の制約が適用されない

  25. 25

    プログラムでUIViewの一定の高さ制約を更新する方法は?

  26. 26

    UIViewのサブビューの自動レイアウト制約をプログラムで設定する

  27. 27

    テーブルビューフッターでUIViewの制約をプログラムで設定するにはどうすればよいですか?

  28. 28

    比例制約をプログラムで迅速に変更する5

  29. 29

    ConstraintLayout:プログラムで制約を変更する

ホットタグ

アーカイブ