Ответ 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];