现在,我通过使用以下方法实现它:

UIView *subView = [[self.view subviews] lastObject]


接着:

CGFloat maxY = CGRectGetMaxY(subView.frame);


但是我认为必须有一种更好的方法来确保100%确保最后一个对象实际上是视图层次结构中最深的对象,而不仅仅是数组中的最后一个对象。

最佳答案

数组中的位置与子视图的z顺序有关,而不与它们的x和y位置有关。

假设子视图本身没有子视图,则需要遍历数组:

CGFloat maxY = 0;

for (UIView *subview in self.view.subviews) {
    maxY = MAX(CGRectGetMaxY(subview.frame),maxY);
}

10-08 12:32