Я предполагаю, что вы создаете представление программно и пытаетесь динамически расположить его в контроллере вкладок.
Используйте UIViewAutoresizing и доверие в ОС, чтобы сделать это за вас.
У меня были подобные проблемы, пока я не нашел время, чтобы понять, как использовать атрибуты Flexible для блокировки элементов в определенных положениях. Когда вы используете контроллер вкладок для переключения выбранного представления, ОС изменит размер представления, чтобы соответствовать автоматически.
UIViewAutoresizingFlexibleTopMargin - Locks the location of an object with regards to the bottom.
UIViewAutoresizingFlexibleBottomMargin - Locks with regards to the top.
UIViewAutoresizingFlexibleWidth - Keeps the object the same distance from the left and right edges.
UIViewAutoresizingFlexibleHeight - Keeps the object the same distance from the top and bottom edges.
Сначала верх и низ кажутся задом наперед, пока вы не поймете, что определяете поле, которое может изменяться.
Чтобы настроить это программно, вам нужно установить маску автоматического изменения размера представления:
[myView setAutoresizingMask:UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleBottomMargin];