Swift: один элемент панели навигации

Я новичок в Swift, и у меня проблема с элементом панели навигации.

I've :

1 кнопка "опубликовать"

4 элемента панели инструментов "Текст" и "Изображение" и еще два

4 контейнера с 4 контроллерами представления

Каждый элемент панели инструментов привязан к 1 контейнеру (контроллеру представления) и так далее для остальных.

Мой вопрос: как сделать, чтобы кнопка публикации переключала контроллер представления в соответствии с типом записи (изображение или текст).

введите здесь описание изображения


person user3662992    schedule 25.07.2015    source источник
comment
Я бы создал действие в viewController и, в зависимости от содержимого типа сообщения, нажал соответствующий viewController? Не уверен, что понимаю вопрос.   -  person Swift Rabbit    schedule 25.07.2015
comment
Я хочу, чтобы кнопка публиковалась в соответствии с контроллером просмотра (текст vc или img vc), если пользователи нажимают текст на панели инструментов, тогда он может публиковать текст, если он нажимает на изображение, он может опубликовать изображение   -  person user3662992    schedule 25.07.2015


Ответы (1)


Вы можете отслеживать действие, которое будет выполнять ваш элемент панели инструментов (сообщение), в зависимости от ситуации, в которой вы хотите. Но тогда вы, вероятно, будете использовать некоторые логические значения. Создайте подключение из Storyboard к его файловому классу типа Action, а не к выходу. В созданном методе действия вы можете проверить, должен ли он публиковать текст или изображение, например:

if shouldPostText{
    // post text
}else{
    // post image
}

Логическое значение, которое вы можете изменить при нажатии кнопок текста/изображения. Затем создайте два перехода в раскадровке, оба связывая ваш UIViewController с контроллером представления текста и с контроллером представления изображения. Назовите переходы по-разному (например, seguetoText и segueToImage) и сделайте так:

if shouldPostText{
    self.performSegueWithIdentifier("segueToText", sender: self)
}else{
    self.performSegueWithIdentifier("segueToImage", sender: self)
}

Я не совсем уверен, о чем вы просили, но, похоже, это было.

person Samuel Cortez    schedule 26.07.2015