Spec-Zone .ru
спецификации, руководства, описания, API

Библиотека Разработчика iOS

Разработчик

Ссылка платформы UIKit ссылка класса UIStoryboardSegue

Опции
Развертывание Target:

На этой странице
Язык:

UIStoryboardSegue

Наследование


Соответствует


Оператор импорта


Swift

import UIKit

Objective C

@import UIKit;

Доступность


Доступный в iOS 5.0 и позже.

A UIStoryboardSegue объект ответственен за выполнение визуального перехода между двумя контроллерами представления. Кроме того, объекты перехода используются для подготовки к переходу от одного контроллера представления до другого. Объекты перехода содержат информацию о контроллерах представления, вовлеченных в переход. Когда переход инициирован, но прежде чем визуальный переход происходит, время выполнения раскадровки вызывает контроллер текущего представления prepareForSegue:sender: метод так, чтобы это могло передать любые необходимые данные контроллеру представления, собирающемуся быть выведенным на экран.

UIStoryboardSegue класс поддерживает стандартные визуальные переходы, доступные в UIKit. Можно также разделить на подклассы для определения пользовательских переходов между контроллерами представления в файле раскадровки.

Вы не создаете объекты перехода непосредственно. Вместо этого время выполнения раскадровки создает их, когда оно должно выполнить переход между двумя контроллерами представления. Можно все еще инициировать переход программно с помощью performSegueWithIdentifier:sender: метод UIViewController если Вы хотите. Вы могли бы сделать так для инициирования перехода из источника, добавленного программно и поэтому не доступный в Интерфейсном Разработчике.

Разделение на подклассы примечаний

Можно разделить на подклассы UIStoryboardSegue в ситуациях, где Вы хотите обеспечить пользовательский переход между контроллерами представления в Вашем приложении. Для использования пользовательского перехода создайте строку перехода между надлежащими контроллерами представления в Интерфейсном Разработчике и установите его тип в Пользовательский в инспекторе; необходимо также указать имя класса перехода для использования в инспекторе.

Когда время выполнения раскадровки обнаруживает пользовательский переход, оно создает новый экземпляр Вашего класса, конфигурирует его с объектами контроллера представления, просит источник контроллера представления подготавливаться к переходу, и затем выполняет переход.

Методы для переопределения

Для пользовательских переходов основной метод, который необходимо переопределить, perform метод. Время выполнения раскадровки вызывает этот метод, когда пора выполнить визуальный переход от контроллера представления в sourceViewController к контроллеру представления в destinationViewController. Если необходимо инициализировать какие-либо переменные в пользовательском подклассе перехода, можно также переопределить initWithIdentifier:source:destination: метод и инициализирует их в Вашей пользовательской реализации.

Альтернативы разделению на подклассы

Если Ваш переход не должен хранить дополнительную информацию или обеспечить что-нибудь кроме aperform метод, рассмотрите использование segueWithIdentifier:source:destination:performHandler: метод вместо этого.

  • Инициализирует и возвращает объект перехода раскадровки для использования в выполнении перехода.

    Объявление

    Swift

    init!(identifier identifier: String?, source source: UIViewController, destination destination: UIViewController)

    Objective C

    - (instancetype)initWithIdentifier:(NSString *)identifier source:(UIViewController *)source destination:(UIViewController *)destination

    Параметры

    identifier

    Идентификатор Вы хотите связаться с этим определенным экземпляром перехода. Можно использовать этот идентификатор для дифференциации одного типа перехода от другого во время выполнения.

    source

    Контроллер представления, видимый в начале перехода.

    destination

    Контроллер представления для отображения после завершения перехода.

    Возвращаемое значение

    Инициализированный объект перехода.

    Обсуждение

    Этот метод является определяемым инициализатором для объектов перехода. Если Вы разделяете на подклассы UIStoryboardSegue, можно переопределить этот метод и выполнить любую пользовательскую инициализацию в реализации. Ваша реализация должна вызвать super сначала и затем продолжите, если не возвращается тот метод nil.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 5.0 и позже.

  • sourceViewController Свойство

    Исходный контроллер представления для перехода. (только для чтения)

    Объявление

    Swift

    var sourceViewController: AnyObject { get }

    Objective C

    @property(nonatomic, readonly) id sourceViewController

    Обсуждение

    Это свойство содержит контроллер представления, содержание которого выведено на экран в начале перехода.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 5.0 и позже.

  • destinationViewController Свойство

    Целевой контроллер представления для перехода. (только для чтения)

    Объявление

    Swift

    var destinationViewController: AnyObject { get }

    Objective C

    @property(nonatomic, readonly) id destinationViewController

    Обсуждение

    Это свойство содержит контроллер представления, содержание которого должно быть выведено на экран в конце перехода.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 5.0 и позже.

  • identifier Свойство

    Идентификатор для объекта перехода. (только для чтения)

    Объявление

    Swift

    var identifier: String? { get }

    Objective C

    @property(nonatomic, readonly) NSString *identifier

    Обсуждение

    Вы присваиваете идентификаторы своим переходам в Интерфейсном Разработчике. Идентификатор является строкой что Ваше использование приложения для различения одного перехода от другого. Например, если у Вас есть исходный контроллер представления, который может непосредственно перейти к двум или больше различным целевым контроллерам представления, Вы присвоили бы различные идентификаторы каждому переходу так, чтобы исходный контроллер представления prepareForSegue:sender: метод мог сказать им независимо и подготовить каждый переход соответственно.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 5.0 и позже.

  • Выполняет визуальный переход для перехода.

    Объявление

    Swift

    func perform()

    Objective C

    - (void)perform

    Обсуждение

    Подклассы переопределяют этот метод и используют его для выполнения анимаций от представлений в sourceViewController к представлениям в destinationViewController. Как правило, Вы использовали бы UIKit или Базовую Анимацию для установки анимации от одного набора представлений к следующему. Для более сложных анимаций Вы могли бы взять изображение снимка двух иерархий представления и управлять изображениями вместо фактических объектов представления.

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

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 5.0 и позже.

  • Создает переход, вызывающий блок для выполнения перехода перехода.

    Объявление

    Swift

    convenience init(identifier identifier: String?, source source: UIViewController, destination destination: UIViewController, performHandler performHandler: () -> Void)

    Objective C

    + (instancetype)segueWithIdentifier:(NSString *)identifier source:(UIViewController *)source destination:(UIViewController *)destination performHandler:(void (^)(void))performHandler

    Параметры

    identifier

    Идентификатор Вы хотите связаться с этим определенным экземпляром перехода. Можно использовать этот идентификатор для дифференциации одного типа перехода от другого во время выполнения.

    source

    Контроллер представления, видимый в начале перехода.

    destination

    Контроллер представления для отображения после завершения перехода.

    performHandler

    Блок, который вызовут, когда переход perform метод вызывают.

    Возвращаемое значение

    Инициализированный объект перехода.

    Обсуждение

    Вы используете этот метод в качестве альтернативы созданию подкласса. Ваш выполнять обработчик должен выполнить всю работу, необходимую для перехода между источником и целевыми контроллерами представления, точно как будто Вы реализовывали perform метод.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 6.0 и позже.

    См. также

    – выполнить