![]() |
![]()
特定条件でviewの高さを動的に変える必要が出て来た
これをObjective-cでの実現方法
・方針
デフォルトの制約があるのでそれを解除して
新しい制約を加えて高さを動的に変える
・Storyboardでの制約
Storyboardで制約を作る
その後、右クリックで制約をコードに紐付ける
そうすると以下が出来上がる
@property (weak, nonatomic) IBOutlet NSLayoutConstraint *constraint;
・制約の解除
constraint.active = NO;
・制約の追加
view1をview2の上になるように制約をつける
NSLayoutConstraint* newConstraint = [NSLayoutConstraint constraintWithItem:view1
attribute:NSLayoutAttributeBottom
relatedBy:NSLayoutRelationEqual
toItem:view2
attribute:NSLayoutAttributeTop
multiplier:1.0
constant:0];
[self.view addConstraints:@[newConstraint]];
こうして制約を動的に変えることで、viewの高さを動的に変えることができましたとさ
まだまだiOSの戦いは続くよ
