1.cornerRadius和borderWidth设置无效问题
这是由于给view设置约束之后,view的frame并不会立刻确定,而是会在viewWillLayoutSubviews之后才会去确定。
因此显而易见,设置圆角和描边应该在viewDidLayoutSubviews方法里面去做。
- (void)viewDidLayoutSubviews {
[super viewDidLayoutSubviews];
self.exchangeButton.layer.cornerRadius = _exchangeButton.frame.size.height / 2;
}
2.设置动画无效问题
在block里面更新约束是没有动画效果的,需要调用做动画的View的layoutIfNeeded才行
[UIView animateWithDuration:0.5 animations:^{
[self.progressBarForeground mas_updateConstraints:^(MASConstraintMaker *make) {
make.right.mas_equalTo(@0);
}];
[self.progressBarForeground layoutIfNeeded];
}];