В дополнение к тому, что @jamone ответил (+1), я предлагаю сделать условное выражение для события касания вкладки, подобное этому в псевдокоде:
if (tabView.frame.origin.x == 968) //tab only position
//animate tab view in code here
else if (tabView.frame.origin.x == 300) //entire view position
//animate tab view out code
Таким образом, вы можете иметь один и тот же метод обработки анимации, входящий и выходящий, и он будет запускать анимацию, только если ваш вид завершен или находится в позиции.