В основном, 1) Поместите кнопку внутри вида того же размера, что и кнопка, с масками автоматического изменения размера кнопки, установленными, чтобы она не сжималась при изменении размера представления и имела левое гибкое поле.2) Анимация рамки вида для изменения ширины от 0 до полной ширины при перемещении от начала координат x до (x - ширина просмотра).
При увеличении вида кнопка будет открыта.Для представления должно быть установлено значение clipToBounds, равное yes.