如何从情节提要中获取 imageView 的大小?

Posted

技术标签:

【中文标题】如何从情节提要中获取 imageView 的大小?【英文标题】:How can i get the imageView's size from storyboard? 【发布时间】:2015-06-10 03:16:06 【问题描述】:

我在情节提要中添加了一个 imageView,并添加了一些约束(Trailing、Leading、Bottom、Top、Ratio)。现在我想在代码中获取 imageView 的大小。 NSlog("%f", cell.imageView.frame.size.width); 但是,当我在 iPhone5 中运行它时,结果与在 iphone6 中运行的结果相同。 我该怎么办,非常感谢(Xcode6,ios sdks 8.1)。

当我将“cell.frame.size.width”移动到 viewDidLayoutSubviews 时,我已经解决了。

【问题讨论】:

你把这个日志放在哪里?viewDidLoad? 如果你已经解决了,你应该接受正确的答案,而不是在你的问题中发布答案。 【参考方案1】:

自动布局约束设置在viewDidLoad() 之后。因此,您应该尝试在 viewDidLayoutSubviews() 或视图控制器生命周期的更高版本中打印。否则,您可能应用了强制大小保持不变的约束(可能是相对于其他视图或如 Nilesh 所述,相等的宽度/高度/纵横比)。

【讨论】:

如果问题在tableview单元格中,我该怎么办? 我不明白你想问什么。请详细说明。【参考方案2】:

确保您已启用自动布局(可能的最简单方式)并为.storyboard 文件中的imageView 设置约束。查看.storyboard 文件时,在标准编辑器的右下角查找此按钮

【讨论】:

以上是关于如何从情节提要中获取 imageView 的大小?的主要内容,如果未能解决你的问题,请参考以下文章

如何在情节提要中为uilabel设置大于300的字体大小?

如何从情节提要文件中获取现有的控制器对象?

如何从情节提要中获取 UIViewControl 对象的笔尖名称

tableView 与 imageView 与情节提要?

如何以编程方式更改使用自动布局在情节提要上创建的 UIImageView 的大小?

如何在 iphone 5s 和 iphone X 的情节提要中为 uibutton 设置不同的大小?