swift - 我很笨,我的子视图不会服从并正确调整自己的大小



我觉得这对你们这些退伍军人来说是一个垒球,但我在调整UIImageView的子视图大小时遇到了很多问题。。。这是我得到的:

var myImageView:UIImageView!
var tmpView:UIImageView!

myImageView是我的"主"UIImageView,我将tmpView视为子视图。。。现在,我已经尝试了启用和不启用自动布局,但我已经设置了myImageView s.t.的限制。myImageView占据了整个屏幕。我已经通过设置myImageView.image=UIImage来确认这是真的。。。等

这是我初始化图像并将其添加到子视图的代码:

self.tmpView.image = UIImage(named: "myImage.png")
self.tmpView.frame = CGRect(x: 0, y: 0, width: 200, height: 300)
self.imageView2.addSubview(self.tmpView)

现在我遇到了问题——无论我将tmpView的高度和宽度设置为什么,大小都不会改变。有趣的是,改变x,y确实会影响子视图的位置。

以下是我的问题:1)为什么x和y都很好地服从,而宽度和高度却不服从?

2) 我该如何解决这个问题,最好通过程序还是通过故事板来解决?

使用自动布局时,不应再直接修改帧。向tmpView添加宽度和高度约束,并在使用IB时为其创建出口(出口类型应为NSLayoutContraint)。

你也可以在代码中创建约束,但除非迫不得已,否则这样做毫无意义

在这两种情况下,要调整tmpView的大小,请将每个约束的constant属性更改为所需的值。

widthConstraint.constant = yourNewWidth;
heightConstraint.constant = yourNewHeight;

最新更新