带上SubviewToFront问题?

时间:2010-09-22 06:21:01

标签: iphone ipad uiview uiviewcontroller uigesturerecognizer

HI,  我有Parentview - >多个子视图。 当我在父视图中使用[self bringSubviewToFront:childview]时,它工作正常。但是在将childchildview添加到childview后,当我使用 在[父母视图] [self bringSubviewToFront:grandchildview],它没有用?有什么帮助吗?

2 个答案:

答案 0 :(得分:58)

-[UIView bringSubviewToFront:]方法仅适用于直接子女,而不适用于孙子女。请记住,视图层次结构是一棵树,通常视图只知道其“父”(或超级视图)及其直接“子”(或子视图)。你需要做这样的事情:

// First, get the view embedding the grandchildview to front.
[self bringSubviewToFront:[grandchildview superview]];
// Now, inside that container view, get the "grandchildview" to front. 
[[grandchildview superview] bringSubviewToFront:grandchildview];

答案 1 :(得分:1)

我对已检查解决方案中的swift版本的贡献

self.bringSubviewToFront(self.grandchildview.superview!)
self.grandchildview.superview!.bringSubviewToFront(self.grandchildview)