Autolayoutの3つの方法✨
1927 ワード
コードを使用してAutolayoutを実装する方法1-純粋なコード
コンストレイントの作成
+(id)constraintWithItem:(id)view1
attribute:(NSLayoutAttribute)attr1
relatedBy:(NSLayoutRelation)relation
toItem:(id)view2
attribute:(NSLayoutAttribute)attr2
multiplier:(CGFloat)multiplier
constant:(CGFloat)c;
* view1 :
* attr1 : ( )
* relation :
* view2 :
* attr2 : ( )
* multiplier :
* c :
コンストレイントの追加
- (void)addConstraint:(NSLayoutConstraint *)constraint;
- (void)addConstraints:(NSArray *)constraints;
に注意
self.view.translatesAutoresizingMaskIntoConstraints = NO;```
### Autolayout 2 - VFL
###### VFL
```swift
+ (NSArray *)constraintsWithVisualFormat:(NSString *)format
options:(NSLayoutFormatOptions)opts
metrics:(NSDictionary *)metrics
views:(NSDictionary *)views;
* format :VFL
* opts :
* metrics :VFL
* views :VFL
次のマクロを使用してviewsとmetricsパラメータを自動的に生成します.
NSDictionaryOfVariableBindings(...)
コードを使用してAutolayoutを実装する方法3-Masonry
手順の使用
// , mas_
#define MAS_SHORTHAND
// ,equalTo mas_equalTo
#define MAS_SHORTHAND_GLOBALS
//
#import "Masonry.h"
コンストレイントを追加する方法
//
[view makeConstraints:^(MASConstraintMaker *make) {
}];
// ,
[view remakeConstraints:^(MASConstraintMaker *make) {
}];
//
[view updateConstraints:^(MASConstraintMaker *make) {
}];```
######
```swift
1. :width\height\size
2. :left\leading\right\trailing\top\bottom
3. :center\centerX\centerY
4. :edges```