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 *)
svc
willChangeToDisplayMode:(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 *)
splitViewController
collapseSecondaryViewController:(UIViewController *)secondaryViewController
ontoPrimaryViewController:(UIViewController *)primaryViewController
Параметры
splitViewController
Контроллер представления разделения, интерфейс которого разрушается.
secondaryViewController
Вторичный контроллер представления разделения просматривает интерфейс.
primaryViewController
Основной контроллер представления разделения просматривает интерфейс. Если Вы реализуете
primaryViewControllerForCollapsingSplitViewController:
метод в Вашем делегате, этот объект является тем, возвращенным тем методом.Возвращаемое значение
NO
false
чтобы позволить разделению просмотреть контроллер пытаются включить вторичное содержание контроллера представления в разрушенный интерфейс илиYES
true
указать, что Вы не хотите, чтобы контроллер представления разделения сделал что-либо со вторичным контроллером представления.Обсуждение
Этот метод является Вашей возможностью выполнить любые необходимые задачи, связанные с переходом к разрушенному интерфейсу. После этого метода возвраты контроллер представления разделения удаляет вторичный контроллер представления из
viewControllers
массив, оставляя основной контроллер представления как его единственный дочерний элемент. В Вашей реализации этого метода Вы могли бы подготовить основной контроллер представления к дисплею в компактной среде, или Вы могли бы попытаться соединиться, вторичное содержание контроллера представления в недавно разрушилось интерфейс.Возврат
NO
false
говорит контроллеру представления разделения использовать свое поведение по умолчанию попытаться включить вторичный контроллер представления в разрушенный интерфейс. Когда Вы возвращаетесьNO
false
, контроллер представления разделения вызываетcollapseSecondaryViewController:forSplitViewController:
метод основного контроллера представления, давая ему шанс сделать что-то со вторичным содержанием контроллера представления. Контроллеры представления Most ничего не делают по умолчанию, ноUINavigationController
класс отвечает путем продвижения вторичного контроллера представления на его штабель навигации.Возврат
YES
true
от этого метода говорит контроллеру представления разделения не применять любое поведение по умолчанию. Вы могли бы возвратитьсяYES
true
в случаях, где Вы не хотите вторичное содержание контроллера представления, включенное в получающийся интерфейс.Оператор импорта
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 *)
splitViewController
separateSecondaryViewControllerFromPrimaryViewController:(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 *)
splitViewController
showViewController:(UIViewController *)vc
sender:(id)sender
Параметры
splitViewController
Контроллер представления разделения, основной контроллер представления которого обновляется.
vc
Контроллер представления, выводимый на экран в основной позиции.
sender
Объект, выполнивший запрос.
Возвращаемое значение
YES
true
если Вы обработали представление контроллера представления илиNO
false
если Вы хотите, чтобы контроллер представления разделения сделал это.Обсуждение
Когда
showViewController:sender:
метод вызывают, контроллер представления разделения вызывает этот метод, чтобы видеть, хочет ли Ваш делегат обработать представление указанного контроллера представления. Если Вы реализуете этот метод и Ваши возвраты реализацииYES
true
, Вы ответственны за представление указанного контроллера представления в основной позиции интерфейса представления разделения. Контроллер представления разделения не делает ничего больше, чтобы попытаться показать контроллер представления.Если Ваша реализация возвращается, если Вы не реализуете этот метод или
NO
false
, контроллер представления разделения представляет контроллер представления надлежащим способом.Оператор импорта
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 *)
splitViewController
showDetailViewController:(UIViewController *)vc
sender:(id)sender
Параметры
splitViewController
Контроллер представления разделения, вторичный контроллер представления которого обновляется.
vc
Контроллер представления, выводимый на экран во вторичной позиции.
sender
Объект, выполнивший запрос.
Возвращаемое значение
YES
true
если Вы обработали представление контроллера представления илиNO
false
если Вы хотите, чтобы контроллер представления разделения сделал это.Обсуждение
Когда
showDetailViewController:sender:
метод вызывают, контроллер представления разделения вызывает этот метод, чтобы видеть, хочет ли Ваш делегат обработать представление указанного контроллера представления. Если Вы реализуете этот метод и в конечном счете возвращаетесьYES
true
, Ваша реализация ответственна за представление указанного контроллера представления во вторичной позиции интерфейса представления разделения.Если Ваша реализация возвращается, если Вы не реализуете этот метод или
NO
false
, контроллер представления разделения представляет контроллер представления надлежащим способом.Оператор импорта
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 *)
svc
shouldHideViewController:(UIViewController *)vc
inOrientation:(UIInterfaceOrientation)orientation
Параметры
svc
Контроллер представления разделения, которому принадлежит первый контроллер представления.
vc
Первый контроллер представления в массиве контроллеров представления.
orientation
Ориентация, которую рассматривают.
Возвращаемое значение
YES
true
если контроллер представления должен быть скрыт в указанной ориентации илиNO
false
если это должно быть видимо. Если Вы не реализуете этот метод, значениеYES
true
принят для портретных ориентаций иNO
false
принят для альбомных ориентаций.Обсуждение
Контроллер представления разделения вызывает этот метод только для первого дочернего контроллера представления в его массиве. Второй контроллер представления всегда остается видимым независимо от ориентации.
До 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 *)
svc
willHideViewController:(UIViewController *)aViewController
withBarButtonItem:(UIBarButtonItem *)barButtonItem
forPopoverController:(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 *)
svc
willShowViewController:(UIViewController *)aViewController
invalidatingBarButtonItem:(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 *)
svc
popoverController:(UIPopoverController *)pc
willPresentViewController:(UIViewController *)aViewController
Параметры
svc
Контроллер представления разделения, которому принадлежит скрытый контроллер представления.
pc
Контроллер легкой сдобы, собирающийся вывести на экран контроллер представления.
aViewController
Контроллер представления, который будет выведен на экран в легкой сдобе.
Обсуждение
Кнопка на панели инструментов, которую Вы добавляете к своему пользовательскому интерфейсу, упрощает дисплей скрытого контроллера представления в ответ на пользовательские касания. Когда пользователь касается той кнопки, контроллер представления разделения вызывает этот метод. Можно использовать этот метод для выполнения любых дополнительных шагов до отображения в настоящее время скрытого контроллера представления.
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 2.0 и позже.
Осуждаемый в iOS 8.0.