【发布时间】:2018-01-05 17:07:34
【问题描述】:
我试图通过它所属的堆栈视图获取 UIButton 的 y 坐标位置。我需要在程序中使用这个值来将按钮的位置映射到不同的坐标系。
这是我的代码,它将从堆栈视图中获取按钮的 y 值:
p_tilePosition.x = round(self.layer.position.x / (self.frame.size.width + 8.0))// The 8 here is the standard spacing between sibling views
let testView = self.superview
if let yPosition = self.superview?.layer.position.y{
p_tilePosition.y = round(yPosition / (self.frame.size.height + 8.0))
}
(注意这是在UIButton的子类中,当UIButton被初始化时,它会运行这段代码来创建映射)
但是,我发现 self.superview 是 nil。我对此感到困惑,因为我认为按钮的超级视图是按钮所在的堆栈视图?不是这样吗?如何通过在初始化时获取堆栈的 y 位置来获取按钮的 y 位置?
【问题讨论】:
-
为什么不简单地使用
convert方法?
标签: ios swift uibutton uistackview