在CGRect中居中UIImageView

时间:2015-07-04 13:42:26

标签: ios layout uiimageview cgrect

我想将UIImageView置于iOS屏幕上的矩形区域内。矩形的位置和尺寸在运行时确定,并由CGRect表示。图像已经绘制,但必须在运行时移动到矩形区域的中心。我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:1)

这取决于。如果您使用自动布局(默认),那么您将使用布局约束。你应该能够在IB中设置布局约束,即使它改变了大小,也可以使图像视图保持居中,而不需要任何自定义代码。

只需在IB中选择视图,选择右侧的按钮,弹出标题为"添加新对齐约束"然后单击复选框"容器中的水平中心"和#34;容器中的垂直中心"。然后单击"添加约束"弹出窗口底部的按钮。

答案 1 :(得分:0)

假设您希望即时更改,您应该只需将图像视图的框架更改为所需的CGRect:

imageView.frame = rect

这假设您的UIImageView自动调整大小和/或具有正确的宽高比。如果没有,您应该相应地调整您的CGRect。或者,您可以查看动画帧属性。

如果您在视图最初加载时只是这样做,那么使用自动布局将图像居中放置会更容易,如Duncan C建议的那样,将其水平和垂直居中放置在容器中。

相关问题