Причина, по которой ваш вид исчезает, заключается в том, что поверх него отображается контроллер модального вида:
[self presentModalViewController: v2 animated: YES];
Как вы знаете, контроллер модального представления занимает весь экран пространстводля этого.
Что вы пытаетесь выполнить с помощью сегментированного элемента управления?
РЕДАКТИРОВАТЬ: для изменения текущего представления, отображаемого в UITabBar, у вас есть несколько вариантов.Один просто добавляет подпредставление к текущему представлению;в вашем контроллере представления выполните:
[self.view addSubview: vc.view];
[vc viewWillAppear:NO];
[vc viewDidAppear:NO];
вызовы viewWillAppear
и viewDidAppear
, в этом случае среда не вызовет их для вас.
Я предполагаю, что выСегментированный элемент управления используется для управления подрайоном вашего представления (т. е. ваше представление имеет верхнюю часть, где находится сегментированный элемент управления, и нижнюю часть с некоторым другим содержимым).В этом случае я бы просто попытался заменить подпредставление, которое находится ниже сегментированного элемента управления.Техника та же.
Прочитав ваш комментарий, вы можете заменить одну таблицу другой.Или, лучше, добавьте их обоих как подпредставление (полный кадр) и просто скройте один или другой в соответствии с выбором сегментированного элемента управления.