【发布时间】:2021-02-24 08:29:48
【问题描述】:
我在 UITableViewCell 中有一个自定义视图。这个视图内部是一个简单的 UIStackView,有 4 个图像(以编程方式添加)。我需要每个图像相对于 UIView 超级视图的中心点或原点。我尝试了几种方法,但所有四个排列的子视图的中心点或原点都是相同的。
这是一个简化的代码:
for i in 0...3 {
print(stepsStack.arrangedSubviews[i].frame.origin) //(0,0) for all 4
print(stepsStack.arrangedSubviews[i].convert(stepsStack.arrangedSubviews[i].frame.origin, to: self)) //(0,0) for all 4
print(stepsStack.arrangedSubviews[i].convert(stepsStack.arrangedSubviews[i].center, to: self)) //(10.0, 9.5) for all 4
print(stepsStack.convert(stepsStack.arrangedSubviews[i].center, to: self)) //(10.0, 9.5) for all 4
}
【问题讨论】:
-
你什么时候调用那个方法的?
-
来自 UIView 类的 layoutSubviews。
-
嗯,我在我的自定义 UIView 类里面,所有的计算都是在 layoutSubviews 方法中进行的。一切都布置得很完美,但似乎无法找到中心点。
标签: ios swift uiview uistackview bounds