我正在构建一个自定义进度条(UIView 的子类)。我将 UIImageView 添加到使用重复图像来显示进度的 UIView 中。视图被添加到情节提要中,我可以让它显示得很好,但是如果我尝试更改框架,那么它只会显示情节提要文件中显示的任何内容(即,如果情节提要视图具有黄色背景,但代码uiview 子类将其更改为绿色,如果我尝试在代码中更改 UIImageView 的框架以反映当前进度,则默认返回黄色背景)
我尝试使用这些没有运气:
[self updateConstraints];
[self layoutSubviews];
更新
我知道我需要设置一个用于自动布局的约束。但是,它需要以编程方式完成,因为我正在以这种方式创建子类 UIView。这是我正在尝试的代码,我知道我很接近但不能让它工作:
[self addConstraint:
[NSLayoutConstraint constraintWithItem:self.progressView
attribute:NSLayoutAttributeWidth
relatedBy:NSLayoutRelationLessThanOrEqual
toItem:nil
attribute:NSLayoutAttributeWidth
multiplier:1
constant:progressWidth]];
[UIView animateWithDuration:3 animations:^{
[self.progressView layoutIfNeeded];
}];