Вы не показали код анимации, но я предполагаю, что вы добавили подпредставление за кадром, а затем изменили его кадр (анимированный), чтобы отобразить его.
Добавьте новое подпредставление, используя вместо этого insertSubview:belowSubview:
, передав вашу кнопку в качестве второго аргумента.Таким образом, кнопка будет перекрывать новый вид, а не наоборот.addSubview:
всегда ставит новый вид поверх любого другого.
РЕДАКТИРОВАТЬ
Из ваших комментариев кажется, что вы добавляете второй контроллер вида на экран, используя presentModalViewController:
, поэтому вышеуказанный метод не будет работать.Насколько я знаю, невозможно сохранить элемент от исходного контроллера представления поверх представления нового контроллера представления, если вы представляете его таким образом.
Возможно, вам придется создать новый UIWindow
и установить для windowLevel
значение UIWindowLevelAlert
, чтобы удерживать вашу кнопку.Это будет держать его поверх любого из представлений внизу.Добавьте это окно как подпредставление к главному окну.