Форум программистов, компьютерный форум CyberForum.ru

Swift

Войти
Регистрация
Восстановить пароль
 
Hsac
13 / 13 / 1
Регистрация: 30.06.2013
Сообщений: 157
#1

Ручной переход segue - Swift

11.10.2016, 05:12. Просмотров 749. Ответов 3
Метки нет (Все метки)

Есть tableviewcontroller при свайпе на ячейку появляется delete и рядом edit.
нужно чтобы при нажатии на edit был переход на новый viewcontroller как это реализовать? Свайп сделан через
Objective-C
1
override func tableView(_ tableView: UITableView, editActionsForRowAt indexPath: IndexPath) -> [UITableViewRowAction]?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.10.2016, 05:12     Ручной переход segue
Посмотрите здесь:

Ручной расчёт Matlab
Segue
Переход по segue
Передача данных segue Objective-C
C++ Qt Из ручной компоновки в UI
Два segue, Два viewController, Одно отображение
Swift Переход в браузер
Objective-C Не освобождается память после unwind segue
Клик по кастом-строке таблицы - переход, не пойму как сделать наличие кнопки back Swift
Swift Почему не работает переход после клика по cell в результате поиска по таблице?
CollectionView & Segue Swift
Рандомный переход между окнами Swift

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Живой Ископаемы
0 / 0 / 1
Регистрация: 08.09.2016
Сообщений: 9
30.10.2016, 19:03     Ручной переход segue #2
let nextViewController = self.storyboard!.instantiateViewControllerWithIdentifier("IDnextViewController") as! ClassNextViewController
self.showViewController(nextViewController, sender: self)
smth
175 / 44 / 6
Регистрация: 23.06.2011
Сообщений: 245
02.11.2016, 18:46     Ручной переход segue #3
Я бы не стал городить то, что написал Живой Ископаемы. Все-таки, можно программно вызывать необходимый переход с помощью performSegueWithIdentifier. Работает просто:
1) между viewController'ами устанавливается segue (при этом исходным будет не какая-то кнопка, а весь viewController).
2) Не забываем дать этому переходу идентификатор
3) Затем в нужном действии вызывается performSegueWithIdentifier(<идентификатор перехода>) - все.

Вообще, performSegueWithIdentifier используется тогда, когда нужно сделать переход, но неизвестно, какой контрол будет инициатором или этих инициаторов несколько на один и тот же переход.

Вот пример из реального проекта:

Objective-C
1
2
3
4
5
6
7
8
9
10
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
        if case 0...1 = indexPath.section {
            //... код            
            performSegueWithIdentifier("usegNewVisitVC", sender: self)
        }
        else if indexPath.section == 2 {
            performSegueWithIdentifier("segAddInfoVC", sender: self)
        }
        tableView.deselectRowAtIndexPath(indexPath, animated: true)
    }
При этом seg - это движение "вперед", а useg - движение назад. То есть, этой штукой можно вызывать переход в любую сторону.
Живой Ископаемы
0 / 0 / 1
Регистрация: 08.09.2016
Сообщений: 9
03.11.2016, 17:52     Ручной переход segue #4
Да, действительно такой способ пожалуй лучше.
Для 3-го свифта будет так:
performSegue(withIdentifier: "showRightVC", sender: self)

И тогда можно нарисовать реализацию
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {

и она будет отрабатывать
Yandex
Объявления
03.11.2016, 17:52     Ручной переход segue
Ответ Создать тему
Опции темы

Текущее время: 09:10. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru