1、改变UIView宽高的动画
@interface ViewController ()
@property (weak, nonatomic) IBOutlet UIView *redView;
@property (weak, nonatomic) IBOutlet NSLayoutConstraint *redViewW;
@property (weak, nonatomic) IBOutlet NSLayoutConstraint *redViewH;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
}
- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {
self.redViewW.constant = 50;
self.redViewH.constant = 50;
[UIView animateWithDuration:1.0 animations:^{
[self.view layoutIfNeeded];
}];
}
@end
2、控件移除后的重布局(约束优先级的使用)
实现的效果
1.png
点击控制器后:
2.png
思路:
// 点击控制器,移除绿色View,紫色view靠右移动到距离红色view为10的位置
// 方法:由于绿色view将会被移除,所以紫色view的约束不能以绿色view为参照,
// 紫色view左边相对间距约束要设置两个:一个相对绿色view间距为10,另一个是相对红色view间距为10(这个优先级更低)
3.png
网友评论