UIProgressView 在运行时有不同的位置

UIProgressView have different position at runtime

我将 UIProgressView 放在 XIB 文件上。一开始一切顺利。当我通过自动布局将其高度设置为 20 后,出现了问题。进度视图始终位于屏幕的最左上角。即使我使用

[self.progress setFrame:CGRectMake(93, 100, self.scrollView.frame.size.width, self.scrollView.frame.size.height)];

仍然对我完全不起作用。

非常感谢您的帮助。

使用大小限制作为出口。然后您可以轻松更改这些约束的值。不建议在使用自动布局时修改框架。

声明一个 属性:

@property (strong, nonatomic) IBOutlet NSLayoutConstraint *heightConstraint;
@property (strong, nonatomic) IBOutlet NSLayoutConstraint *widthConstraint;

并在实施中:

 self.heightConstraint = self.scrollView.frame.size.height;
 self.widthConstraint= self.scrollView.frame.size.width;

或者您可以尝试在 viewDidLayoutSubviews 中设置框架,但在使用自动布局时不推荐这样做。