ios - 将深度放置的 subview 带到最前面

标签 ios objective-c subview

我有这样的 subview 顺序:

  • 父 View Controller
    • subview 1
    • subview 2
      • subview 1
      • subview 2
        • 子 subview 1

现在我需要将非常深的 Subsubsubview 1 带到屏幕的最前面。我查看了文档,bringSubviewToFront 在这里可能不起作用,因为它只会将 subview 带到与他的父项相关的前面。将父级(子 subview 2)与它一起放在前面不是一种选择,因为它需要保持在 subview 2 的下方

重新排序几乎是不可能的,它是一个依赖于图形的顺序,并且绑定(bind)了很多动画。

最佳答案

您可以尝试将它放在窗口本身上:

[[UIApplication sharedApplication].keyWindow addSubview: Subsubsubview1];

或使用以下方法帮助重新排序:

 insertSubview:atIndex:
 insertSubview:aboveSubview:
 insertSubview:belowSubview:

关于ios - 将深度放置的 subview 带到最前面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18331252/

相关文章:

ios - 透明背景 UIView drawRect 圆形

objective-c - Xcode - 何时使用 UIView 或 UITableView?

objective-c - 如何在 NSView 的 subview 上绘制

iphone - UITableView:以编程方式设置数据源

iphone - MKMapView 警报自定义

iphone - 取回 uiwebview 的 URL?

ios - 如何保持 tableview 部分处于状态?

ios - 如何在 IOS 中用 NSString 写双 NSArray

ios - 苹果声称应用程序崩溃,但我无法弄清楚

ios - 添加到 ScrollView 内容 View 的最后一个 View 落后于主页指示器