Как мне активировать ВСЕ просмотры? - PullRequest
0 голосов
/ 24 ноября 2011

Когда я рекурсивно перечисляю все подпредставления, начиная с окна (начиная с [[UIApplication sharedApplication] windows] итерируя по всем подпредставлениям представления), я не получаю все представления моего приложения.

Когда я назначаю теги кнопкам наПанели инструментов или панели навигации в Интерфейсном Разработчике, я не могу найти их с помощью метода viewWithTag: (начиная с окна или экземпляра представления).Но я нахожу тегированную панель инструментов или панель навигации большую часть времени ...

Когда я программно возвращаюсь с кнопок, панелей инструментов и т. Д., Вызывая superview, я очень часто не возвращаюсь к окну.

Есть ли способ найти все активные представления в приложении?

1 Ответ

0 голосов
/ 28 ноября 2011

Чтобы получить все виды, вам нужно подождать , пока не будут созданы все виды. И это занимает некоторое время.

Я вызвал viewDidLoad мою функцию дампа, как [self displayViews], и получил только часть представлений (потому что остальные еще не были созданы).

Правильный способ получить все представления - это вызвать performSelector, потому что ставит в очередь запрос в рамках той же угрозы, но немного ждет:

[self performSelector:@selector(displayViews) withObject:nil afterDelay:1.0f];

Примечание: теги, назначенные кнопкам панели инструментов в Интерфейсном Разработчике, не будут отображаться, потому что кнопки кодируются как-то иначе, то есть кнопки действительно отображаются, но имеют значения тегов 0.

...