UISplitViewControllerDelegate
Наследование
Не применимый
Соответствует
Не применимый
Оператор импорта
Swift
import UIKit
Objective C
@import UIKit;
Доступность
Доступный в iOS 3.2 и позже.
UISplitViewControllerDelegate протокол определяет методы, позволяющие, Вы для управления изменений к разделению просматриваете интерфейс. Используйте методы этого протокола для реакции на изменения в текущем режиме отображения и к текущей интерфейсной ориентации. Когда интерфейс представления разделения разрушается и расширяется, или когда новый контроллер представления добавляется к интерфейсу, можно также использовать эти методы для конфигурирования дочерних контроллеров представления соответственно.
Для получения дополнительной информации о UISplitViewController класс, посмотрите Ссылку класса UISplitViewController.
-
Говорит делегату, что режим отображения для контроллера представления разделения собирается измениться.
Объявление
Swift
optional func splitViewController(_svc: UISplitViewController, willChangeToDisplayModedisplayMode: UISplitViewControllerDisplayMode)Objective C
- (void)splitViewController:(UISplitViewController *)svcwillChangeToDisplayMode:(UISplitViewControllerDisplayMode)displayModeПараметры
svcКонтроллер представления разделения, режим отображения которого изменяется.
displayModeНовый режим отображения, собирающийся быть примененным к контроллеру представления разделения.
Обсуждение
Когда его режим отображения собирается измениться, контроллер представления разделения вызывает этот метод. Поскольку изменение режима отображения обычно означает скрывать или показывать один из дочерних контроллеров представления, можно реализовать этот метод и использовать его, чтобы добавить или удалить средства управления для показа основного контроллера представления.
Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 8.0 и позже.
-
targetDisplayModeForActionInSplitViewController (_:) - targetDisplayModeForActionInSplitViewController:Когда действие контроллера представления разделения происходит, просит делегат обеспечивать режим отображения для применения.
Объявление
Swift
optional func targetDisplayModeForActionInSplitViewController(_svc: UISplitViewController) -> UISplitViewControllerDisplayModeObjective C
- (UISplitViewControllerDisplayMode)targetDisplayModeForActionInSplitViewController:(UISplitViewController *)svcПараметры
svcКонтроллер представления разделения, действие которого может быть инициировано. Используйте этот объект получить текущий режим отображения и конфигурацию интерфейса представления разделения.
Возвращаемое значение
Когда пользователь выполняет определенные действия, режим отображения для применения к разделению просматривает контроллер.
Обсуждение
В подходящее время контроллер представления разделения вызывает этот метод для определения который режим отображения примениться к себе в ответ на инициируемые пользователями действия. Контроллер представления разделения имеет встроенное устройство распознавания жеста, изменяющее текущий режим отображения. Контроллер представления разделения также продает элемент кнопки панели от
displayModeButtonItemсвойство, изменяющее режим отображения. Устройство распознавания жеста включено с помощьюpresentsWithGestureсвойство разделения просматривает контроллер. Приложения должны включить элемент кнопки панели в свой интерфейс.Реализуйте этот метод, если Вы хотите указать, какой режим отображения примениться к разделению просматривают контроллер в ответ на пользовательские действия. Контроллер представления разделения вызывает этот метод в подходящее время для получения обновленного значения для жеста и элемента кнопки панели. Если Ваш метод возвращается, если Вы не реализуете этот метод или
UISplitViewControllerDisplayModeAutomatic, контроллер представления разделения применяет свою собственную эвристику для определения, какой режим применить, когда инициировано следующее действие. Вы не можете указать различные режимы отображения для жеста и элемента кнопки панели.Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 8.0 и позже.
-
splitViewControllerPreferredInterfaceOrientationForPresentation (_:) - splitViewControllerPreferredInterfaceOrientationForPresentation:Просит делегат к ориентации использовать при представлении контроллера представления разделения.
Объявление
Swift
optional func splitViewControllerPreferredInterfaceOrientationForPresentation(_splitViewController: UISplitViewController) -> UIInterfaceOrientationObjective C
- (UIInterfaceOrientation)splitViewControllerPreferredInterfaceOrientationForPresentation:(UISplitViewController *)splitViewControllerПараметры
splitViewControllerКонтроллер представления разделения, собирающийся быть представленным на экране.
Возвращаемое значение
Ориентация для использования, сначала выведение на экран разделения просматривает контроллер.
Обсуждение
UIKit вызывает этот метод для определения, какую ориентацию приложение предпочитает при представлении указанного контроллера представления разделения. Можно использовать этот метод для указания ориентации, что Вы думаете, является лучшим, сначала выведение на экран разделения просматривает контроллер. Ориентация, которую Вы указываете, может отличаться, чем текущая ориентация устройства. После представления система может повернуть контроллер представления разделения как надлежащий одной из его других поддерживаемых интерфейсных ориентаций.
Если Вы не реализуете этот метод, система представляет контроллер представления с помощью текущей ориентации строки состояния.
Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 7.0 и позже.
-
splitViewControllerSupportedInterfaceOrientations (_:) - splitViewControllerSupportedInterfaceOrientations:Просит делегат указывать интерфейсные ориентации, которые поддерживает контроллер представления разделения.
Объявление
Swift
optional func splitViewControllerSupportedInterfaceOrientations(_splitViewController: UISplitViewController) -> IntObjective C
- (NSUInteger)splitViewControllerSupportedInterfaceOrientations:(UISplitViewController *)splitViewControllerПараметры
splitViewControllerКонтроллер представления разделения.
Возвращаемое значение
Ориентации, которые Вы хотите, чтобы указанный контроллер представления разделения поддерживал. Значение, которое Вы возвращаете, может быть один или больше
UIInterfaceOrientationMaskконстанты.Обсуждение
Контроллер представления разделения вызывает этот метод в подходящее время для получения ориентаций, которые это поддерживает. Можно использовать этот метод для изменения набора ориентаций, обычно поддерживаемых контроллером представления разделения. Если Вы не реализуете этот метод, контроллер представления разделения поддерживает все ориентации на iPad и всех кроме
UIInterfaceOrientationMaskAllButUpsideDownориентация на устройствах iPhone.Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 7.0 и позже.
См. также
-
primaryViewControllerForCollapsingSplitViewController (_:) - primaryViewControllerForCollapsingSplitViewController:Просит делегат обеспечивать единственный контроллер представления для отображения после краха интерфейса представления разделения.
Объявление
Swift
optional func primaryViewControllerForCollapsingSplitViewController(_splitViewController: UISplitViewController) -> UIViewController?Objective C
- (UIViewController *)primaryViewControllerForCollapsingSplitViewController:(UISplitViewController *)splitViewControllerПараметры
splitViewControllerКонтроллер представления разделения, интерфейс которого разрушается.
Возвращаемое значение
Новый основной контроллер представления для отображения на экране.
Обсуждение
Когда переходы контроллера представления разделения от горизонтально регулярного к горизонтально компактному классу размера, это вызывает этот метод и просит, чтобы Вы контроллер представления вывели на экран, когда тот переход завершен. Контроллер представления, который Вы возвращаете, становится новым основным контроллером представления интерфейса представления разделения.
Используйте этот метод для указания, какой контроллер представления Вы хотите выведенный на экран в компактной среде. По умолчанию разрушающийся контроллер представления разделения выводит на экран свой текущий основной контроллер представления, но можно возвратить контроллер другого представления, если Вы хотите. Например, Вы могли бы возвратить вторичный контроллер представления, если тот контроллер представления содержит содержание, Вы хотите вывести на экран. Вы могли бы также возвратить контроллер абсолютно другого представления, лучше подходящий для отображения содержания в компактной среде.
При реализации этого метода необходимо также реализовать
primaryViewControllerForExpandingSplitViewController:метод для обработки расширения интерфейса от горизонтально компактного к горизонтально регулярной среде. Если Ваша реализация возвращается, если Вы не реализуете этот метод, илиnil, контроллер представления разделения выбирает свой основной контроллер представления в качестве того для отображения.Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 8.0 и позже.
-
splitViewController (_: collapseSecondaryViewController:ontoPrimaryViewController:) - splitViewController:collapseSecondaryViewController:ontoPrimaryViewController:Просит делегат корректировать основной контроллер представления и включать вторичный контроллер представления в разрушенный интерфейс.
Объявление
Swift
optional func splitViewController(_splitViewController: UISplitViewController, collapseSecondaryViewControllersecondaryViewController: UIViewController!, ontoPrimaryViewControllerprimaryViewController: UIViewController!) -> BoolObjective C
- (BOOL)splitViewController:(UISplitViewController *)splitViewControllercollapseSecondaryViewController:(UIViewController *)secondaryViewControllerontoPrimaryViewController:(UIViewController *)primaryViewControllerПараметры
splitViewControllerКонтроллер представления разделения, интерфейс которого разрушается.
secondaryViewControllerВторичный контроллер представления разделения просматривает интерфейс.
primaryViewControllerОсновной контроллер представления разделения просматривает интерфейс. Если Вы реализуете
primaryViewControllerForCollapsingSplitViewController:метод в Вашем делегате, этот объект является тем, возвращенным тем методом.Возвращаемое значение
NOfalseчтобы позволить разделению просмотреть контроллер пытаются включить вторичное содержание контроллера представления в разрушенный интерфейс илиYEStrueуказать, что Вы не хотите, чтобы контроллер представления разделения сделал что-либо со вторичным контроллером представления.Обсуждение
Этот метод является Вашей возможностью выполнить любые необходимые задачи, связанные с переходом к разрушенному интерфейсу. После этого метода возвраты контроллер представления разделения удаляет вторичный контроллер представления из
viewControllersмассив, оставляя основной контроллер представления как его единственный дочерний элемент. В Вашей реализации этого метода Вы могли бы подготовить основной контроллер представления к дисплею в компактной среде, или Вы могли бы попытаться соединиться, вторичное содержание контроллера представления в недавно разрушилось интерфейс.Возврат
NOfalseговорит контроллеру представления разделения использовать свое поведение по умолчанию попытаться включить вторичный контроллер представления в разрушенный интерфейс. Когда Вы возвращаетесьNOfalse, контроллер представления разделения вызываетcollapseSecondaryViewController:forSplitViewController:метод основного контроллера представления, давая ему шанс сделать что-то со вторичным содержанием контроллера представления. Контроллеры представления Most ничего не делают по умолчанию, ноUINavigationControllerкласс отвечает путем продвижения вторичного контроллера представления на его штабель навигации.Возврат
YEStrueот этого метода говорит контроллеру представления разделения не применять любое поведение по умолчанию. Вы могли бы возвратитьсяYEStrueв случаях, где Вы не хотите вторичное содержание контроллера представления, включенное в получающийся интерфейс.Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 8.0 и позже.
-
primaryViewControllerForExpandingSplitViewController (_:) - primaryViewControllerForExpandingSplitViewController:Когда интерфейс представления разделения расширяется, просит делегат обеспечивать контроллер представления для отображения в основной позиции.
Объявление
Swift
optional func primaryViewControllerForExpandingSplitViewController(_splitViewController: UISplitViewController) -> UIViewController?Objective C
- (UIViewController *)primaryViewControllerForExpandingSplitViewController:(UISplitViewController *)splitViewControllerПараметры
splitViewControllerКонтроллер представления разделения, интерфейс которого расширяется.
Возвращаемое значение
Контроллер представления для использования в качестве основного контроллера представления или
nilуказать текущий основной контроллер представления.Обсуждение
Когда переходы контроллера представления разделения от горизонтально компактного к горизонтально регулярному классу размера, это вызывает этот метод и просит, чтобы Вы контроллер представления вывели на экран в основной позиции, когда тот переход завершен. Контроллер представления, который Вы возвращаете, становится основным контроллером представления интерфейса представления разделения. Если Ваша реализация возвращается, если Вы не реализуете этот метод, или
nil, контроллер представления разделения выбирает свой текущий основной контроллер представления в качестве того для использования.Если Вы указали определенный контроллер представления в Вашем
primaryViewControllerForCollapsingSplitViewController:метод, используйте этот метод для восстановления исходного основного контроллера представления для интерфейса представления разделения. Можно также реализоватьsplitViewController:separateSecondaryViewControllerFromPrimaryViewController:метод для распутывания контроллеров представления от друг друга по мере необходимости.Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 8.0 и позже.
-
splitViewController (_: separateSecondaryViewControllerFromPrimaryViewController:) - splitViewController:separateSecondaryViewControllerFromPrimaryViewController:Просит делегат обеспечивать новый вторичный контроллер представления для интерфейса представления разделения.
Объявление
Swift
optional func splitViewController(_splitViewController: UISplitViewController, separateSecondaryViewControllerFromPrimaryViewControllerprimaryViewController: UIViewController!) -> UIViewController?Objective C
- (UIViewController *)splitViewController:(UISplitViewController *)splitViewControllerseparateSecondaryViewControllerFromPrimaryViewController:(UIViewController *)primaryViewControllerПараметры
splitViewControllerКонтроллер представления разделения, интерфейс которого расширяется.
primaryViewControllerОсновной контроллер представления в расширенном разделении просматривает интерфейс. Если Вы реализуете
primaryViewControllerForExpandingSplitViewController:метод в Вашем делегате, этот объект является тем, возвращенным тем методом.Возвращаемое значение
Контроллер представления для использования в качестве вторичного контроллера представления в расширенном разделении просматривает интерфейс или
nilчтобы позволить разделению просмотреть контроллер выбирают надлежащий вторичный контроллер представления для Вас.Обсуждение
Используйте этот метод, чтобы определять вторичный контроллер представления для Вашего интерфейса представления разделения и выполнить любую дополнительную очистку, которая могла бы быть необходима. После этого метода возвраты контроллер представления разделения устанавливает недавно определяемые основные и вторичные контроллеры представления в
viewControllersмассив.Когда интерфейс разрушается, некоторые контроллеры представления объединяют содержание основных и вторичных контроллеров представления. Этот метод является Вашей возможностью отменить те изменения и возвратить Ваш интерфейс представления разделения его исходному состоянию.
Когда Вы возвращаетесь
nilот этого метода контроллер представления разделения вызывает основной контроллер представленияseparateSecondaryViewControllerForSplitViewController:метод, давая ему шанс определять надлежащий вторичный контроллер представления. Контроллеры представления Most ничего не делают по умолчанию, ноUINavigationControllerкласс отвечает путем сования и возврата контроллера представления из вершины его штабеля навигации.Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 8.0 и позже.
-
splitViewController (_: showViewController:sender:) - splitViewController:showViewController:sender:Спрашивает делегат, если это хочет выполнить работу отображения контроллера представления в основной позиции интерфейса представления разделения.
Объявление
Swift
optional func splitViewController(_splitViewController: UISplitViewController, showViewControllervc: UIViewController, sendersender: AnyObject?) -> BoolObjective C
- (BOOL)splitViewController:(UISplitViewController *)splitViewControllershowViewController:(UIViewController *)vcsender:(id)senderПараметры
splitViewControllerКонтроллер представления разделения, основной контроллер представления которого обновляется.
vcКонтроллер представления, выводимый на экран в основной позиции.
senderОбъект, выполнивший запрос.
Возвращаемое значение
YEStrueесли Вы обработали представление контроллера представления илиNOfalseесли Вы хотите, чтобы контроллер представления разделения сделал это.Обсуждение
Когда
showViewController:sender:метод вызывают, контроллер представления разделения вызывает этот метод, чтобы видеть, хочет ли Ваш делегат обработать представление указанного контроллера представления. Если Вы реализуете этот метод и Ваши возвраты реализацииYEStrue, Вы ответственны за представление указанного контроллера представления в основной позиции интерфейса представления разделения. Контроллер представления разделения не делает ничего больше, чтобы попытаться показать контроллер представления.Если Ваша реализация возвращается, если Вы не реализуете этот метод или
NOfalse, контроллер представления разделения представляет контроллер представления надлежащим способом.Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 8.0 и позже.
-
splitViewController (_: showDetailViewController:sender:) - splitViewController:showDetailViewController:sender:Спрашивает делегат, если это хочет выполнить работу отображения контроллера представления во вторичной позиции интерфейса представления разделения.
Объявление
Swift
optional func splitViewController(_splitViewController: UISplitViewController, showDetailViewControllervc: UIViewController, sendersender: AnyObject?) -> BoolObjective C
- (BOOL)splitViewController:(UISplitViewController *)splitViewControllershowDetailViewController:(UIViewController *)vcsender:(id)senderПараметры
splitViewControllerКонтроллер представления разделения, вторичный контроллер представления которого обновляется.
vcКонтроллер представления, выводимый на экран во вторичной позиции.
senderОбъект, выполнивший запрос.
Возвращаемое значение
YEStrueесли Вы обработали представление контроллера представления илиNOfalseесли Вы хотите, чтобы контроллер представления разделения сделал это.Обсуждение
Когда
showDetailViewController:sender:метод вызывают, контроллер представления разделения вызывает этот метод, чтобы видеть, хочет ли Ваш делегат обработать представление указанного контроллера представления. Если Вы реализуете этот метод и в конечном счете возвращаетесьYEStrue, Ваша реализация ответственна за представление указанного контроллера представления во вторичной позиции интерфейса представления разделения.Если Ваша реализация возвращается, если Вы не реализуете этот метод или
NOfalse, контроллер представления разделения представляет контроллер представления надлежащим способом.Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 8.0 и позже.
-
splitViewController (_: shouldHideViewController:inOrientation:) - splitViewController:shouldHideViewController:inOrientation:(iOS 8.0)Спрашивает делегат, должен ли первый контроллер представления быть скрыт для указанной ориентации.
Оператор осуждения
Связанные с ориентацией методы делегата больше не поддерживаются.
Объявление
Swift
optional func splitViewController(_svc: UISplitViewController, shouldHideViewControllervc: UIViewController, inOrientationorientation: UIInterfaceOrientation) -> BoolObjective C
- (BOOL)splitViewController:(UISplitViewController *)svcshouldHideViewController:(UIViewController *)vcinOrientation:(UIInterfaceOrientation)orientationПараметры
svcКонтроллер представления разделения, которому принадлежит первый контроллер представления.
vcПервый контроллер представления в массиве контроллеров представления.
orientationОриентация, которую рассматривают.
Возвращаемое значение
YEStrueесли контроллер представления должен быть скрыт в указанной ориентации илиNOfalseесли это должно быть видимо. Если Вы не реализуете этот метод, значениеYEStrueпринят для портретных ориентаций иNOfalseпринят для альбомных ориентаций.Обсуждение
Контроллер представления разделения вызывает этот метод только для первого дочернего контроллера представления в его массиве. Второй контроллер представления всегда остается видимым независимо от ориентации.
До iOS 5.0 первый контроллер представления был всегда скрыт в портретных ориентациях и всегда показывался в альбомных ориентациях. Если Вы не реализуете этот метод в своем объекте делегата, то поведение по умолчанию остается в силе.
Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 5.0 и позже.
Осуждаемый в iOS 8.0.
-
splitViewController (_: willHideViewController:withBarButtonItem:forPopoverController:) - splitViewController:willHideViewController:withBarButtonItem:forPopoverController:(iOS 8.0)Говорит делегату, что указанный контроллер представления собирается быть скрытым.
Оператор осуждения
Реализуйте
splitViewController:willChangeToDisplayMode:метод вместо этого.Объявление
Swift
optional func splitViewController(_svc: UISplitViewController, willHideViewControlleraViewController: UIViewController, withBarButtonItembarButtonItem: UIBarButtonItem, forPopoverControllerpc: UIPopoverController)Objective C
- (void)splitViewController:(UISplitViewController *)svcwillHideViewController:(UIViewController *)aViewControllerwithBarButtonItem:(UIBarButtonItem *)barButtonItemforPopoverController:(UIPopoverController *)pcПараметры
svcКонтроллер представления разделения, которому принадлежит указанный контроллер представления.
aViewControllerСкрытый контроллер представления.
barButtonItemКнопка можно добавить к панели инструментов.
pcКонтроллер легкой сдобы, использующий касания в
barButtonItemвывести на экран указанный контроллер представления.Обсуждение
Когда контроллер представления разделения вращается от среды до портретной ориентации, он обычно скрывает один из своих контроллеров представления. Когда это происходит, это вызывает этот метод для координирования добавления кнопки на панель инструментов (или панель навигации) остающегося пользовательского контроллера представления. Если Вы хотите, чтобы перспективный скрытый контроллер представления был выведен на экран в легкой сдобе, необходимо реализовать этот метод и использовать его для добавления указанной кнопки к интерфейсу.
Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 2.0 и позже.
Осуждаемый в iOS 8.0.
-
splitViewController (_: willShowViewController:invalidatingBarButtonItem:) - splitViewController:willShowViewController:invalidatingBarButtonItem:(iOS 8.0)Говорит делегату, что указанный контроллер представления собирается быть показанным снова.
Оператор осуждения
Реализуйте
splitViewController:willChangeToDisplayMode:метод вместо этого.Объявление
Swift
optional func splitViewController(_svc: UISplitViewController, willShowViewControlleraViewController: UIViewController, invalidatingBarButtonItembutton: UIBarButtonItem)Objective C
- (void)splitViewController:(UISplitViewController *)svcwillShowViewController:(UIViewController *)aViewControllerinvalidatingBarButtonItem:(UIBarButtonItem *)buttonПараметры
svcКонтроллер представления разделения, которому принадлежит указанный контроллер представления.
aViewControllerСкрытый контроллер представления.
buttonКнопка раньше выводила на экран контроллер представления, в то время как это было скрыто.
Обсуждение
Когда контроллер представления вращается от портрета до альбомной ориентации, он показывает свой скрытый контроллер представления еще раз. Если бы Вы добавили указанную кнопку к своей панели инструментов для упрощения дисплея скрытого контроллера представления в легкой сдобе, то необходимо реализовать этот метод и использовать его для удаления той кнопки.
Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 2.0 и позже.
Осуждаемый в iOS 8.0.
-
splitViewController (_: popoverController:willPresentViewController:) - splitViewController:popoverController:willPresentViewController:(iOS 8.0)Говорит делегату, что скрытый контроллер представления собирается быть выведенным на экран в легкой сдобе.
Оператор осуждения
Связанные с ориентацией методы делегата больше не поддерживаются.
Объявление
Swift
optional func splitViewController(_svc: UISplitViewController, popoverControllerpc: UIPopoverController, willPresentViewControlleraViewController: UIViewController)Objective C
- (void)splitViewController:(UISplitViewController *)svcpopoverController:(UIPopoverController *)pcwillPresentViewController:(UIViewController *)aViewControllerПараметры
svcКонтроллер представления разделения, которому принадлежит скрытый контроллер представления.
pcКонтроллер легкой сдобы, собирающийся вывести на экран контроллер представления.
aViewControllerКонтроллер представления, который будет выведен на экран в легкой сдобе.
Обсуждение
Кнопка на панели инструментов, которую Вы добавляете к своему пользовательскому интерфейсу, упрощает дисплей скрытого контроллера представления в ответ на пользовательские касания. Когда пользователь касается той кнопки, контроллер представления разделения вызывает этот метод. Можно использовать этот метод для выполнения любых дополнительных шагов до отображения в настоящее время скрытого контроллера представления.
Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 2.0 и позже.
Осуждаемый в iOS 8.0.
