除非我点击两次,否则Imageview不会在容器中调整大小

时间:2014-12-03 23:39:38

标签: ios swift uiview

我有一个简单的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中回答。

0 个答案:

没有答案
相关问题