找到UIImageView UIImageView.center的中心意外结果

时间:2016-01-19 02:42:36

标签: ios swift uiimageview

我有一个具有以下约束条件的UIImageView:

  • 高度等于135
  • 尾随空格:SuperView = 0
  • 领先空间:Superview = 0
  • 顶部空间:顶部布局= 0

Xcode 7.2 Size Inspector中UIImageView的宽度= 600。

在我的UIViewController中有一个UIImageView的出口:

@IBOutlet weak var heroImageView: UIImageView!

viewDidLoad heroImagveView.center =(300.0,67.5)的值

然而,这不是图像的实际中心,300是iPhone 5模拟器中UIImageView右侧的方式。更像(x: 160.0, y: 67.5)的东西是中心,但x并不精确。

在Xcode 7.2中,我所有UIViewControllers的默认宽度都是600像素,据我所知,这不是不同Apple设备的运行时渲染宽度,但为什么UIImageView.center不理解这个?

如何获得UIImageView的实际运行时中心?

1 个答案:

答案 0 :(得分:0)

在viewDidLoad中,你的heroImageView的宽度为600.由于superview的前导空格为0,x位置为0.因此,中心位于300.

您需要删除尾随和前导约束,并将其替换为水平'和宽度约束。