У меня есть случайный дочерний вид в иерархии представлений. Каков наилучший/быстрый/умный способ добраться до корневого супервизора?
Cheers,
Дуг
Ответ 1
Если ваше приложение имеет только один UIWindow (обычно true), и если это окно только subview является вашим представлением корневого контроллера (также обычно это верно):
[randomChildView.window.subviews objectAtIndex:0]
Или вы можете рекурсивно выбраться из иерархии, проверив view.superview, пока не найдете представление, чей супервизор nil.
Ответ 2
Это незначительное количество процессорного времени, чтобы идти прямо вверх по иерархии супервизора. У меня это в моей категории UIView.