HI, У меня есть Parentview → Несколько детских просмотров. когда я использую [self bringSubviewToFront: childview] в parentview, он работает отлично. но после добавления grandchildview в childview, когда я использую [self bringSubviewToFront: grandchildview] в родительском представлении, это не сработало? любая помощь пожалуйста?
Проблема с bringSubviewToFront?
Ответ 1
Метод -[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];
Ответ 2
мой вклад с быстрой версией из проверенного решения
self.bringSubviewToFront(self.grandchildview.superview!)
self.grandchildview.superview!.bringSubviewToFront(self.grandchildview)