2013-08-28 2 views
1

Я использую раскадровки для приложения с вкладками. На определенной вкладке мне нужно отобразить несколько просмотров. У меня есть панель навигации, содержащая две кнопки (Prev и next); когда я нажимаю дальше, приложение должно отображать следующий вид (новый UIViewController, а не следующая вкладка), и когда я нажимаю кнопку «Пред», приложение должно переключиться на предыдущее представление (новый UIViewController), но не покидая выбранную вкладку (табуляция должна оставаться отображаемой и с тем же индексом).Как переключаться между UIViewControllers в iOS с помощью Storyboard

enter image description here

Я хочу изменить точку внутри выбранной вкладки, любой из вас есть идеи?

+0

немного больше спецификации, пожалуйста. Когда вы нажимаете дальше, вы хотите представить представление со следующей вкладки, но с выбранной текущей вкладкой? Или вы хотите представить другое представление, относящееся к текущей вкладке? –

+0

'[self.tabBarController setSelectedIndex: 1];' это то, что вы ищете ??? –

+0

Я хочу представить другой вид, но на текущей вкладке. Я хочу представить новый вид, но сохраняю Tabbar с выбранной вкладкой. –

ответ

1

Ну, если вы действительно ссылаетесь на UIView, а не на UIViewControllers, то все, что вам нужно сделать, это связать представление с вашим .m-файлом с обычным ctrl и методом перетаскивания. Затем создайте IBAction, когда кнопка будет нажата (ctrl перетащите кнопку и нажмите «Тип» на действие). Затем будет приведен ниже метод, который будет автоматически вызываться при нажатии кнопки. Вам также нужно создать второе представление, которое вы хотите отобразить, а также связать его с файлом .m.

Таким образом, в методе:

{ 
//view1 the view you want to change, view2 the one you want to display 
[_view1 setHidden:TRUE]; 
[_view2 setHidden:FALSE]; 
} 

EDIT: Для UIViewController

Это может быть сделано с помощью Interface Builder. Нажмите на кнопку Suivant и перетащите ее на новый UIViewController. Затем нажмите «Модаль», а в новом UIViewController поместите панель вкладок и верхнюю панель. Затем вам нужно будет установить их снова, точно так же, как то, что вы сделали на вашем существующем UIViewController. В противном случае поместите контроллер навигации, в инспекторе установите его как контроллер начального представления, ctrl перетащите указатель на панели управления в IB и установите его в корневой контроллер View. У этого будет, по крайней мере, верхний бар, созданный для вас. Но вам нужно будет отредактировать действие кнопки suivant, нажав Ctrl и нажав кнопку. Это то, что я сделал на моем xcode в быстрой репликации вашего проекта, и он отлично работал. Кроме того, можно избежать повторений создания панели вкладок с помощью своего нового UIViewContoller и сделать это:

Editor ->Embed -> Navigation Controller 

Позвольте мне знать, если это работает :)

+0

Я имею в виду UIViewController :) извините! –

+0

Хорошо, я отредактирую его прямо сейчас :) – isklikas

+0

@ManchesterUnited Done, он должен работать сейчас (путем воссоздания панели вкладок я также подразумеваю текущий, но нижний совет, который также был предложен Ayush, лучше) :) – isklikas