我有一个简单的UIView,并且在imageview中。我们的想法是让UIView以编程方式调整大小,并且内部的图像视图会自动拉伸,因此它的大小始终相同。 为了简单起见,我将跳过计算所需大小的所有部分,但这里是应该调整UIView(containerView2)和ImageView(imageHolder2)的代码:
imageHolder2.clipsToBounds = true
containerView2.clipsToBounds = true
//Resize UIView
var ff : CGRect = containerView2.frame
ff.size.width = 175 * aspectRatio
ff.size.height = 175
containerView2.frame = ff
//Resize ImageView to same size, which is inside UIView
var tt : CGRect = imageHolder2.frame
tt.size.width = 175 * aspectRatio
tt.size.height = 175
imageHolder2.frame = tt
containerView2.contentMode = UIViewContentMode.ScaleAspectFill
imageHolder2.contentMode = UIViewContentMode.ScaleAspectFill
这一切都在IBAction按钮中。奇怪的是,当我点击按钮一次时,它会调整UIView的大小,但不会调整ImageView的大小。但是当我第二次点击时,它会正确调整imageView的大小。这是为什么?以及如何解决这个问题? 请注意,在此视图中,我对此项目使用了autolayout和constraint,但不对此代码中涉及的元素使用。
请在Swift中回答。