Если вы хотите узнать, находится ли определенное представление в иерархии, управляемой контроллером представления, и у вас есть указатель на контроллер представления:
BOOL belongsToController = [aView isDescendantOfView:viewController.view];
В качестве альтернативы, если вы хотите выяснить,определенное представление - это root иерархии, управляемой контроллером представления, но у вас нет указателя на контроллер представления, вы можете пройти по цепочке респондента.Согласно документации UIResponder
nextResponder :
UIView
реализует этот метод, возвращая объект UIViewController
, который управляет им (если он есть), или егоsuperview (если это не так)
Поэтому, если следующим респондентом определенного представления является UIViewController
, это представление должно быть представлением, связанным с контроллером представления.
if ([[aView nextResponder] isKindOfClass:[UIViewController class]]) {
// aView is the root of the view hierarchy managed by the view controller
}