Как получить Superview самого высокого уровня в приложении для iPhone? - PullRequest
1 голос
/ 23 ноября 2010

Я хочу иметь возможность получить основной UIView для приложения. До сих пор я звонил [[[self.view superview] superview] superview], чтобы пройти по цепочке (или вниз, в зависимости от того, как вы на нее смотрите) Проблема в том, что я не могу быть абсолютно уверен, сколько уровней мне нужно пройти. Есть ли способ:

  1. Перейти непосредственно к высочайшему уровню UIView в приложении для iPhone?

или, если нет,

  1. Проверьте, является ли текущий суперпредставление UIView самого высокого уровня в приложении?

Ответы [ 2 ]

5 голосов
/ 23 ноября 2010

Я не уверен, что это то, что вы ищете в первую очередь, но это может помочь.

Если вы пытаетесь найти вид сверху, чтобы добавить подпредставление, например всплывающее окно или другое, вы можете использовать UIWindow, который в некотором роде является видом верхнего уровня:

UIWindow* window = [UIApplication sharedApplication].keyWindow;
if (!window) {
    window = [[UIApplication sharedApplication].windows objectAtIndex:0];
}
[window addSubview:yourView];
0 голосов
/ 23 ноября 2010

Просто извлеките это сверху, что-то вроде проверки, является ли свойство superview текущего представления нулевым?Если это так, я думаю, мы можем предположить, что это корневое представление.

...