Если я правильно понимаю, представление вашего mainViewController имеет два суперпредставления: subView A и infoButton. Вы хотите добавить в subviewA подпредставления, которые отображаются поверх представления infoButton?
Простой ответ заключается в том, что вы не можете сделать так, чтобы подпредставления subviewA появлялись поверх представления infoButton. Если вы рассматриваете иерархию представлений как дерево, средство визуализации рисует представления в глубину. Это означает, что он рисует subviewA и все подпредставления subviewA (и т. Д.) Перед рассмотрением представления infoButton. Если вы хотите, чтобы представление отображалось над представлением infoButton, вам нужно добавить его в качестве родственного элемента infoButton после infoButton в списке подпредставлений основного представления.
Если вы хотите скрыть infoButton, вы можете просто установить для свойства hidden значение YES, а затем установить для него значение NO, если вы хотите, чтобы представление infoButton снова появлялось, конечно.
В зависимости от того, что вы делаете с subviewA, вы можете рассмотреть возможность использования модального контроллера представления или контроллера навигации для управления представлениями, которые вы добавляете, когда пользователь взаимодействует с subviewA.