美文网首页
Autolayout简单动画实现

Autolayout简单动画实现

作者: 丹丹十个胆小鬼 | 来源:发表于2018-12-07 15:10 被阅读0次

    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

    相关文章

      网友评论

          本文标题:Autolayout简单动画实现

          本文链接:https://www.haomeiwen.com/subject/zdqthqtx.html