【问题标题】:Centre a UIImageView inside a CGRect在 CGRect 中居中 UIImageView
【发布时间】:2015-07-04 13:42:26
【问题描述】:

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

【问题讨论】:

    标签: ios layout uiimageview cgrect


    【解决方案1】:

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

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

    【讨论】:

    • 我的应用是在自动布局出现之前开发的,所以我可以排除使用它的约束。
    • 好,然后用同样的方法设置“struts and strings”样式布局。
    • 我在开发应用程序时并不了解“struts and strings”。感谢您为我指明正确的方向。
    【解决方案2】:

    假设您希望更改立即发生,您应该能够将图像视图的框架更改为您想要的 CGRect:

    imageView.frame = rect
    

    这是假设您的 UIImageView 自动调整大小和/或具有正确的纵横比。如果没有,你应该相应地调整你的 CGRect。或者,您可以考虑为 frame 属性设置动画。

    如果您只是在视图最初加载时执行此操作,则使用自动布局将图像居中会更容易,方法是在其容器中水平和垂直居中,正如 Duncan C 建议的那样。

    【讨论】:

    • 我的应用是在自动布局出现之前开发的,所以我可以排除使用它的约束。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-28
    • 1970-01-01
    • 2012-10-27
    • 2011-02-02
    相关资源
    最近更新 更多