UIViewController
Наследование
-
NSObject
-
UIResponder
-
UIViewController
-
ABNewPersonViewController
-
ABPersonViewController
-
ABUnknownPersonViewController
-
AVPlayerViewController
-
CABTMIDILocalPeripheralViewController
-
EKCalendarChooser
-
EKEventViewController
-
GLKViewController
-
MCBrowserViewController
-
MPMediaPickerController
-
MPMoviePlayerViewController
-
PKAddPassesViewController
-
PKPaymentAuthorizationViewController
-
QLPreviewController
-
SKStoreProductViewController
-
SLComposeServiceViewController
-
SLComposeViewController
-
UIActivityViewController
-
UIAlertController
-
UICollectionViewController
-
UIDocumentMenuViewController
-
UIDocumentPickerExtensionViewController
-
UIDocumentPickerViewController
-
UIInputViewController
-
UINavigationController
-
UIPageViewController
-
UIReferenceLibraryViewController
-
UISearchController
-
UISplitViewController
-
UITabBarController
-
UITableViewController
-
NSObject
-
UIResponder
-
UIViewController
-
ABNewPersonViewController
-
ABPersonViewController
-
ABUnknownPersonViewController
-
AVPlayerViewController
-
CABTMIDILocalPeripheralViewController
-
EKCalendarChooser
-
EKEventViewController
-
GLKViewController
-
MCBrowserViewController
-
MPMediaPickerController
-
MPMoviePlayerViewController
-
PKAddPassesViewController
-
PKPaymentAuthorizationViewController
-
QLPreviewController
-
SKStoreProductViewController
-
SLComposeServiceViewController
-
SLComposeViewController
-
TWTweetComposeViewController
-
UIActivityViewController
-
UIAlertController
-
UICollectionViewController
-
UIDocumentMenuViewController
-
UIDocumentPickerExtensionViewController
-
UIDocumentPickerViewController
-
UIInputViewController
-
UINavigationController
-
UIPageViewController
-
UIReferenceLibraryViewController
-
UISearchController
-
UISplitViewController
-
UITabBarController
-
UITableViewController
Соответствует
Оператор импорта
Swift
import UIKit
Objective C
@import UIKit;
Доступность
Доступный в iOS 2.0 и позже.
UIViewController
класс обеспечивает фундаментальную модель управления представления для всех приложений для iOS. Вы редко инстанцируете UIViewController
объекты непосредственно. Вместо этого Вы инстанцируете подклассов UIViewController
класс на основе определенной задачи каждый подкласс выполняет.
Контроллер представления управляет рядом представлений, составляющих часть пользовательского интерфейса Вашего приложения. Как часть уровня контроллера Вашего приложения, контроллер представления координирует свои усилия с объектами модели и другими объектами контроллера — включая другие контроллеры представления — таким образом, Ваше приложение представляет единственный когерентный пользовательский интерфейс.
Где необходимо, контроллер представления:
изменяет размеры и размечает его представления
корректирует содержание представлений
действия от имени представлений, когда пользователь взаимодействует с ними
Контроллер представления плотно связывается с представлениями, он управляет и принимает участие в цепочке респондента, используемой для обработки событий. Контроллеры представления убывают от UIResponder
класс и вставляется в цепочку респондента между управляемым корневым представлением и его суперпредставлением, обычно принадлежащим контроллеру другого представления. Если представление контроллера представления не обрабатывает событие, контроллер представления имеет опцию обработки события, или это может передать событие суперпредставлению.
Контроллеры представления редко используются в изоляции. Вместо этого Вы используете многократные контроллеры представления, каждому из которых принадлежит часть пользовательского интерфейса Вашего приложения. Например, в то время как контроллер другого представления управляет дисплеем выбранного пункта от той таблицы, один контроллер представления мог бы управлять таблицей элементов. Каждый контроллер представления выводит на экран свои собственные представления для показа содержания, за которое это ответственно.
Разделение на подклассы примечаний
Приложение содержит по крайней мере один пользовательский подкласс UIViewController
и чаще существуют несколько. Эти пользовательские подклассы определяют способы поведения, определенные для Вашего приложения, такой как, как оно обрабатывает взаимодействие с пользователем со своими представлениями. Следующие разделы обеспечивают краткий обзор некоторых задач, которые выполняет Ваш пользовательский подкласс. Для получения дополнительной информации о реализации Ваших пользовательских подклассов, см. Руководство по программированию Контроллера Представления для iOS.
Управление представлением
Когда Вы определяете новый подкласс UIViewController
, необходимо указать представления, которые будут управляемы контроллером. Типичная иерархия представления состоит из представления с гибкими границами — ссылка, которой доступно в view
свойство этого класса — и одно или более подпредставлений, обеспечивающих фактическое содержание. Размер и позиция корневого представления обычно определяются другим объектом, владеющим контроллером представления и выводящим на экран его содержание. Контроллер представления определяет позиции любых подпредставлений, которыми он владеет на основе размера, данного его корневому представлению объектом владения. Контроллер представления обычно принадлежит окну или другому контроллеру представления. Если контроллер представления принадлежит объекту окна, он действует как корневой контроллер представления окна. Корневое представление контроллера представления добавлено как подпредставление окна и изменено для заполнения окна. Если контроллер представления принадлежит другому контроллеру представления, то родительский контроллер представления определяет, когда и как дочернее содержание контроллера представления выведено на экран.
UIViewController
класс предоставляет встроенную поддержку для загрузки представления представления контроллера каждый раз, когда они необходимы. В частности представления автоматически загружаются когда view
к свойству получают доступ. Существует несколько способов, которыми можно реализовать приложение для загрузки этих представлений:
Можно указать представления для контроллера представления с помощью Раскадровки, создаваемой в Интерфейсном Разработчике. Раскадровка содержит предварительно сконфигурированные контроллеры представления и их связанные представления и является предпочтительным способом разработать Вашего приложения s пользовательский интерфейс. Главное преимущество раскадровок - то, что они могут выразить отношения между контроллерами другого представления в Вашем приложении. Например, можно утвердить, что один контроллер представления' s содержание содержится в другом контроллере представления или что контроллер представления выведен на экран как переход (известный как переход) от другого контроллера представления. Позволяя Вам видеть отношения между контроллерами представления, раскадровки упрощают понимать Ваше приложение' s поведение сразу.
Во время выполнения контроллер представления использует раскадровку, чтобы автоматически инстанцировать и сконфигурировать ее представления. Часто, сам контроллер представления автоматически создается переходами, определенными в раскадровке. При определении контроллера представления' s содержание с помощью раскадровки Вы никогда непосредственно выделяете и инициализируете объект контроллера представления. Вместо этого когда необходимо программно инстанцировать контроллера представления, Вы делаете так путем вызова
instantiateViewControllerWithIdentifier:
метод на aUIStoryboard
объект.Можно указать представления для контроллера представления с помощью файла пера, также создаваемого в Интерфейсном Разработчике. Как раскадровка, файл пера позволяет Вам создавать и конфигурировать ряд представлений. Однако Вы не можете легко создать или видеть отношения между контроллерами представления с помощью файлов пера, как Вы можете при использовании раскадровок.
Для инициализации объекта контроллера представления использование пера Вы используете
initWithNibName:bundle:
метод для указания файла пера, используемого контроллером представления. Затем когда контроллер представления должен загрузить свои представления, он автоматически создает и конфигурирует представления с помощью информации, хранившей в файле пера.Если Вы не можете определить свои представления в раскадровке или файле пера, переопределите
loadView
метод, чтобы вручную инстанцировать иерархии представления и присвоить егоview
свойство.
Все эти методы имеют тот же конечный результат, который должен создать надлежащий набор представлений и представить их через view
свойство.
При создании представлений для иерархии представления необходимо всегда устанавливать свойства автоизменения размеров представлений. Когда контроллер представления выведен на экран на экране, его корневое представление обычно изменяется для адаптации свободному месту, которое может варьироваться в зависимости от окна' s текущая ориентация и присутствие других интерфейсных элементов, таких как строка состояния. Можно сконфигурировать свойства автоизменения размеров в Интерфейсном Разработчике, использующем окно инспектора или программно путем изменения autoresizesSubviews
и autoresizingMask
свойства каждого представления. Если Ваш контроллер представления поддерживает и портретные и альбомные ориентации, установка этих свойств также важна. Во время изменения ориентации система использует эти свойства, чтобы изменить местоположение и изменить размеры представлений автоматически для соответствия новой ориентации. Если Ваш контроллер представления поддерживает автоматическое расположение и является дочерним элементом другого контроллера представления, необходимо вызвать представление' s setTranslatesAutoresizingMaskIntoConstraints:
метод для отключения этих ограничений.
Управление памятью
Память является критическим ресурсом в iOS, и контроллеры представления предоставляют встроенную поддержку для сокращения их объема потребляемой памяти в критические времена. UIViewController
класс обеспечивает некоторую автоматическую обработку условий низкой памяти через didReceiveMemoryWarning
метод, выпускающий ненужную память.
Обработка вращений представления
В iOS 8 осуждаются все связанные с вращением методы. Вместо этого вращения обрабатывают как изменение в размере представления контроллера представления и поэтому сообщают с помощью viewWillTransitionToSize:withTransitionCoordinator:
метод. Когда интерфейсная ориентация изменяется, UIKit вызывает этот метод на корневом контроллере представления окна. Тот контроллер представления тогда уведомляет свои дочерние контроллеры представления, распространяя сообщение всюду по иерархии контроллера представления.
В iOS 6 и iOS 7, Ваши поддержки приложений интерфейсные ориентации определяются в Вашем приложении Info.plist
файл. Контроллер представления может переопределить supportedInterfaceOrientations
метод для ограничения списка поддерживаемых ориентаций. Как правило, системные вызовы этот метод только на корневом контроллере представления окна или контроллере представления представили заполнять весь экран; дочернее использование контроллеров представления часть окна предусмотрела их их родительским контроллером представления и больше не участвуй непосредственно в решениях о том, какие вращения поддерживаются. Пересечение приложения' s маска ориентации и контроллер представления' s маска ориентации используется для определения, в какие ориентации контроллер представления может быть повернут.
Можно переопределить preferredInterfaceOrientationForPresentation
для контроллера представления, предназначающегося, чтобы быть представленным полным экраном в определенной ориентации.
В iOS 5 и ранее, UIViewController
класс выводит на экран представления в режиме портрета только. Для поддержки дополнительных ориентаций необходимо переопределить shouldAutorotateToInterfaceOrientation:
метод и возврат YES
true
для любых ориентаций Ваши поддержки подкласса. Если свойства автоизменения размеров Ваших представлений сконфигурированы правильно, который может быть всем, что необходимо сделать. Однако UIViewController
класс предоставляет дополнительные рычаги Вам для реализации дополнительных способов поведения по мере необходимости. Обычно, если Ваш контроллер представления предназначается, чтобы использоваться в качестве дочернего контроллера представления, он должен поддерживать все интерфейсные ориентации.
Когда вращение происходит для видимого контроллера представления, willRotateToInterfaceOrientation:duration:
, willAnimateRotationToInterfaceOrientation:duration:
, и didRotateFromInterfaceOrientation:
методы вызывают во время вращения. viewWillLayoutSubviews
метод также вызывают после того, как представление изменено и расположено его родителем. Если контроллер представления не видим, когда изменение ориентации происходит, то методы вращения никогда не вызывают. Однако viewWillLayoutSubviews
когда представление становится видимым, метод вызывают. Ваша реализация этого метода может вызвать statusBarOrientation
метод для определения ориентации устройства.
Просмотрите уведомление о событии
UIViewController
класс автоматически реагирует на многие уведомления, такой как тогда, когда контроллер представления' s представление добавлен к или удален из окна' s иерархия представления или когда это изменено. UIViewController
класс обеспечивает определенные методы, которые вызывают, когда эти события имеют место. Подклассы могут переопределить эти методы для реализации определенных способов поведения.
Реализация контейнерного контроллера представления
Пользовательское UIViewController
подкласс может также действовать как контейнерный контроллер представления. Контейнерный контроллер представления управляет представлением содержания других контроллеров представления, которыми это владеет, также известный как его дочерние контроллеры представления. Дочерний элемент' s представление может быть представлен как есть или в сочетании с представлениями, принадлежавшими контейнерному контроллеру представления.
Ваш контейнерный подкласс контроллера представления должен объявить, что открытый интерфейс связывает свои дочерние элементы. Природа этих методов ваше дело и зависит от семантики контейнера, который Вы создаете. Необходимо решить, сколько дочерних элементов может быть выведено на экран контроллером представления сразу, когда те дочерние элементы выведены на экран, и где они появляются в контроллере представления' s иерархия представления. Ваш класс контроллера представления определяет, какие отношения, если таковые имеются, совместно используются дочерними элементами. Путем установления чистого открытого интерфейса для контейнера Вы гарантируете, чтобы дочерние элементы использовали его возможности логически, не получая доступ к слишком многим частным подробным данным о том, как Ваш контейнер реализует поведение.
Ваш контейнерный контроллер представления должен связать дочерний контроллер представления с собой прежде, чем добавить дочерний элемент' s корневое представление к иерархии представления. Это позволяет iOS должным образом направлять события к дочерним контроллерам представления и представлениям, которыми управляют те контроллеры. Аналогично, после того, как это удаляет дочерний элемент' s корневое представление от его иерархии представления, это должно разъединить тот дочерний контроллер представления от себя. К судьбоносному эти ассоциации Ваш контейнер вызывает определенные методы, определенные базовым классом. Эти методы не предназначаются, чтобы быть вызванными клиентами Вашего контейнерного класса; они должны использоваться только Вашим контейнером' s реализация для обеспечения ожидаемого поведения включения.
Вот существенные методы, которые Вы, возможно, должны были бы вызвать:
Сохранение состояния и восстановление
Если Вы присваиваете значение контроллеру представления' s restorationIdentifier
свойство, система может попросить, чтобы контроллер представления закодировал себя когда переходы приложения к фону. Когда сохранено, контроллер представления сохраняет состояние любых представлений в его иерархии представления, также имеющих идентификаторы восстановления. Контроллеры представления автоматически не сохраняют никакое другое состояние. При реализации пользовательского контейнерного контроллера представления необходимо закодировать любые дочерние контроллеры представления сами. У каждого дочернего элемента, который Вы кодируете, должен быть уникальный идентификатор восстановления.
Для получения дополнительной информации о том, как система определяет, который контроллеры представления сохранить и восстановить, см. Руководство по программированию Приложения для iOS.
Объяснение изменений состояния
Рисунок 1 показывает, что допустимые изменения состояния между различным представлением 'будут' и сделали методы обратного вызова. Не весь 'будет' методы обратного вызова соединяться с только, сделал метод обратного вызова. Необходимо гарантировать, чтобы при запуске процесса в методе обратного вызова 'желания' Вы закончили, процесс и в соответствии сделал и в противоположное, 'будет' метод обратного вызова.
-
Возвращает недавно инициализированный контроллер представления с файлом пера в указанном пакете.
Объявление
Параметры
nibName
Имя файла пера для соединения с контроллером представления. Имя файла пера не должно содержать ведущую информацию о пути. Если Вы указываете
nil
,nibName
свойство установлено вnil
.nibBundle
Пакет, в котором можно искать файл пера. Этот метод ищет файл пера в специфичных для языка каталогах проекта пакета сначала, сопровождаемый
Resources
каталог. Если этот параметрnil
, метод использует эвристику, описанную ниже для определения местоположения файла пера.Возвращаемое значение
Недавно инициализированный
UIViewController
объект.Обсуждение
Это - определяемый инициализатор для этого класса.
Файл пера, который Вы указываете, не загружается сразу же. Это загружается в первый раз, когда к контроллеру представления' s представление получают доступ. Если Вы хотите выполнить дополнительную инициализацию после того, как файл пера будет загружен, переопределение
viewDidLoad
метод и выполняет Ваши задачи там.Если Вы указываете
nil
дляnibName
параметр и Вы не переопределяетеloadView
метод, контроллер представления ищет файл пера с помощью других средних значений. ПосмотритеnibName
.Если Ваше приложение использует раскадровку для определения контроллера представления и его связанных представлений, приложение никогда не инициализирует объекты того класса непосредственно. Вместо этого контроллеры представления или инстанцирует раскадровка или автоматически iOS, когда переход инициирован или программно когда Ваше приложение вызывает объект раскадровки’ s
instantiateViewControllerWithIdentifier:
метод. При инстанцировании контроллера представления от раскадровки iOS инициализирует новый контроллер представления путем вызоваinitWithCoder:
метод вместо этого. iOS автоматически устанавливаетnibName
свойство к файлу пера, хранившему в раскадровке.Для получения дополнительной информации о том, как контроллер представления загружает свое представление, посмотрите управление ресурсами в поле зрения Контроллеры.
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 2.0 и позже.
См. также
-
nibName
СвойствоИмя получателя' s файл пера, если Вы были указаны. (только для чтения)
Объявление
Swift
var nibName: String? { get }
Objective C
@property(nonatomic, readonly, copy) NSString *nibName
Обсуждение
Это свойство содержит значение, указанное во время инициализации к
initWithNibName:bundle:
метод. Значение этого свойства может бытьnil
.При использовании файла пера для хранения контроллера представления' s представление, рекомендуется указать что файл пера явно при инициализации контроллера представления. Однако, если Вы не указываете имя пера и не переопределяете
loadView
метод в Вашем пользовательском подклассе, контроллер представления ищет файл пера с помощью других средних значений. В частности это ищет файл пера с надлежащим именем (без.nib
расширение) и загрузки, что файл пера каждый раз, когда требуют его представление. В частности это смотрит (в порядке) для файла пера с одним из следующих имен:Если имя класса контроллера представления заканчивается словом 'Controller', как в
MyViewController
, это ищет файл пера, имя которого соответствует имя класса без слова ‘ Контроллер’, как вMyView.nib
.Это ищет файл пера, имя которого соответствует имя класса контроллера представления. Например, если имя класса
MyViewController
, это ищет aMyViewController.nib
файл.
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 2.0 и позже.
См. также
-
nibBundle
СвойствоПолучатель' s пакет пера, если это существует. (только для чтения)
Объявление
Swift
var nibBundle: NSBundle? { get }
Objective C
@property(nonatomic, readonly, retain) NSBundle *nibBundle
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 2.0 и позже.
См. также
-
storyboard
СвойствоРаскадровка, из которой произошел контроллер представления. (только для чтения)
Объявление
Swift
var storyboard: UIStoryboard? { get }
Objective C
@property(nonatomic, readonly, retain) UIStoryboard *storyboard
Обсуждение
Если контроллер представления не инстанцировали от раскадровки, это свойство
nil
.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 5.0 и позже.
-
Определяет, должен ли быть инициирован переход с указанным идентификатором.
Объявление
Swift
func shouldPerformSegueWithIdentifier(_
identifier
: String?, sendersender
: AnyObject?) -> BoolObjective C
- (BOOL)shouldPerformSegueWithIdentifier:(NSString *)
identifier
sender:(id)sender
Параметры
identifier
Строка, идентифицирующая инициированный переход.
В Интерфейсном Разработчике можно связать строку идентификатора с каждым переходом с помощью инспектора. Эта строка используется только для определения местоположения перехода в раскадровке.
sender
Объект, инициировавший переход. Этот объект сделан доступным для информационных целей во время фактического перехода.
Возвращаемое значение
Этот метод должен возвратиться
YES
true
если переход должен быть выполнен,NO
false
если это должно быть проигнорировано.Обсуждение
Ваш контроллер представления переопределяет этот метод, когда это хочет управлять, должен ли быть выполнен переход. Поведение по умолчанию состоит в том, чтобы разрешить всем переходам быть инициированными.
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 6.0 и позже.
-
Уведомляет контроллер представления, что переход собирается быть выполненным.
Объявление
Swift
func prepareForSegue(_
segue
: UIStoryboardSegue, sendersender
: AnyObject?)Objective C
- (void)prepareForSegue:(UIStoryboardSegue *)
segue
sender:(id)sender
Параметры
segue
Объект перехода, содержащий информацию о контроллерах представления, вовлеченных в переход.
sender
Объект, инициировавший переход. Вы могли бы использовать этот параметр для выполнения различных действий, на основе которых управление (или другой объект) инициировало переход.
Обсуждение
Реализация по умолчанию этого метода ничего не делает. Ваш контроллер представления переопределяет этот метод, когда это должно передать соответствующие данные новому контроллеру представления. Объект перехода описывает переход и включает ссылки на оба контроллера представления, вовлеченные в переход.
Поскольку переходы могут быть инициированы из многократных источников, можно использовать информацию в
segue
иsender
параметры для устранения неоднозначности между различными логическими путями в приложении. Например, если бы переход, порожденный из табличного представления, параметр отправителя идентифицировал бы ячейку табличного представления, которой коснулся пользователь. Вы могли использовать ту информацию для установки данных по целевому контроллеру представления.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 5.0 и позже.
-
Инициирует переход с указанным идентификатором от контроллера представления' s файл раскадровки.
Объявление
Swift
func performSegueWithIdentifier(_
identifier
: String?, sendersender
: AnyObject?)Objective C
- (void)performSegueWithIdentifier:(NSString *)
identifier
sender:(id)sender
Параметры
identifier
Строка, идентифицирующая переход в файле раскадровки.
В Интерфейсном Разработчике можно связать строку идентификатора с каждым переходом с помощью инспектора. Эта строка используется только для определения местоположения перехода в раскадровке. Это - строка, которую Вы передаете этому параметру.
Если нет никакого перехода с указанным идентификатором, этот метод выдает исключение.
sender
Объект, который Вы хотите использовать для инициирования перехода. Этот объект сделан доступным для информационных целей во время фактического перехода.
Обсуждение
Приложения обычно не должны инициировать переходы непосредственно. Вместо этого Вы конфигурируете объект в Интерфейсном Разработчике, связанном с контроллером представления, таким как управление, встроенное в его иерархию представления, для инициирования перехода. Однако можно вызвать этот метод для инициирования перехода программно, возможно в ответ на некоторое действие, которое не может быть указано в файле ресурсов раскадровки. Например, Вы могли бы вызвать его от обработчика пользовательского действия, используемого для обработки событий акселерометра или встряски.
Контроллер представления, получающий это сообщение, должно быть, был загружен из раскадровки. Если контроллер представления не имеет связанной раскадровки, возможно потому что Вы выделили и инициализировали его сами, этот метод выдает исключение.
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 5.0 и позже.
См. также
-
canPerformUnwindSegueAction (_: fromViewController:withSender:) - canPerformUnwindSegueAction:fromViewController:withSender:
Обращенный контроллер представления, чтобы определить, хочет ли это ответить на раскрутить действие.
Объявление
Swift
func canPerformUnwindSegueAction(_
action
: Selector, fromViewControllerfromViewController
: UIViewController, withSendersender
: AnyObject) -> BoolObjective C
- (BOOL)canPerformUnwindSegueAction:(SEL)
action
fromViewController:(UIViewController *)fromViewController
withSender:(id)sender
Параметры
action
Раскрутить действие для вызова на контроллер представления.
fromViewController
Контроллер представления, инициировавший раскрутить действие.
sender
Объект, инициировавший действие.
Возвращаемое значение
YES
true
если контроллер представления хочет обработать раскрутить действие, иначеNO
false
.Обсуждение
Этот метод вызывают, когда система пытается найти, что контроллер представления обрабатывает раскрутить действие. Ваш пользовательский контроллер представления должен реализовать этот метод, чтобы сказать системе, что это хочет поддерживать раскрутить действие.
Если возвращается Ваш контроллер представления
YES
true
, тогда серия шагов выполняется:Целевой контроллер представления' s контейнер вызывает
segueForUnwindingToViewController:fromViewController:identifier:
метод для создания перехода для раскручивания состояния контроллера представления.Метод действия вызывают на целевом контроллере представления.
Переход инициирован для выполнения перехода.
новый переход создается для перехода с контроллера представления инициирования на контроллер представления. После того, как переход создается, Ваше действие вызывают, и затем переход вызывается,
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 6.0 и позже.
-
segueForUnwindingToViewController (_: fromViewController:identifier:) - segueForUnwindingToViewController:fromViewController:identifier:
Вызванный, когда раскрутить действие перехода должно перейти между двумя контроллерами представления.
Объявление
Swift
func segueForUnwindingToViewController(_
toViewController
: UIViewController, fromViewControllerfromViewController
: UIViewController, identifieridentifier
: String?) -> UIStoryboardSegueObjective C
- (UIStoryboardSegue *)segueForUnwindingToViewController:(UIViewController *)
toViewController
fromViewController:(UIViewController *)fromViewController
identifier:(NSString *)identifier
Параметры
toViewController
Целевой контроллер представления.
fromViewController
Контроллер представления, инициирующий раскрутить действие.
identifier
Идентификатор для перехода.
Возвращаемое значение
Пользовательский переход возражает что, когда вызвано, переходы между двумя контроллерами представления.
Обсуждение
Если Вы реализуете пользовательский контейнерный контроллер представления, также использующий раскручивание перехода, необходимо переопределить этот метод. Ваша реализация метода должна инстанцировать и возвратить пользовательский объект перехода, выполняющий любую анимацию и другие шаги, которые необходимы для раскручивания контроллеров представления.
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 6.0 и позже.
-
viewControllerForUnwindSegueAction (_: fromViewController:withSender:) - viewControllerForUnwindSegueAction:fromViewController:withSender:
Вызванный, когда раскрутить действие перехода хочет искать контейнер' s дочерние элементы для контроллера представления для обработки раскрутить действия.
Объявление
Swift
func viewControllerForUnwindSegueAction(_
action
: Selector, fromViewControllerfromViewController
: UIViewController, withSendersender
: AnyObject?) -> UIViewController?Objective C
- (UIViewController *)viewControllerForUnwindSegueAction:(SEL)
action
fromViewController:(UIViewController *)fromViewController
withSender:(id)sender
Параметры
action
Действие, инициировавшее раскрутить действие.
fromViewController
Контроллер представления, который является источником раскручивающегося действия.
sender
Объект, инициировавший действие.
Возвращаемое значение
Контроллер представления, хотящий обработать раскрутить действие.
Обсуждение
Пользовательский контейнерный контроллер представления должен переопределить этот метод и использовать его для поиска его дочерних элементов контроллер представления для обработки раскрутить действия. Это делает это путем вызова
canPerformUnwindSegueAction:fromViewController:withSender:
метод на каждом дочернем элементе. Если контроллер представления хочет обработать действие, Ваш метод должен возвратить его. Если ни один из контейнера' s дочерние элементы не хочет обработать раскрутить действие, вызовите реализацию super и возвратите результат того метода.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 6.0 и позже.
-
view
СвойствоПредставление, что управляет контроллер.
Обсуждение
Представление, сохраненное в этом свойстве, представляет корневое представление для контроллера представления' s иерархия представления. Значение по умолчанию этого свойства
nil
.Если Вы получаете доступ к этому свойству, и его значение в настоящее время
nil
, контроллер представления автоматически вызываетloadView
метод и возвраты получающееся представление.Каждый объект контроллера представления является единственным владельцем своего представления. Вы не должны связывать тот же объект представления с многократными объектами контроллера представления. Единственное исключение к этому правилу - то, что контейнерная реализация контроллера представления может добавить это представление как подпредставление в его собственной иерархии представления. Прежде, чем добавить подпредставление, контейнер должен сначала вызвать
addChildViewController:
метод для создания отношений отцов и детей между двумя объектами контроллера представления.Поскольку доступ к этому свойству может заставить представление быть загруженным автоматически, можно использовать
isViewLoaded
метод, чтобы определить, находится ли представление в настоящее время в памяти. В отличие от этого свойства,isViewLoaded
свойство не вызывает загрузку представления, если это в настоящее время не находится в памяти.UIViewController
класс может автоматически установить это свойство вnil
во время условий низкой памяти и также когда наконец выпущен сам контроллер представления.Для получения дополнительной информации о том, как контроллер представления загружает и разгружает свое представление, посмотрите управление ресурсами в поле зрения Контроллеры.
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 2.0 и позже.
См. также
-
Возвращает булево значение, указывающее, загружается ли представление в настоящее время в память.
Объявление
Swift
func isViewLoaded() -> Bool
Objective C
- (BOOL)isViewLoaded
Возвращаемое значение
Булево значение, указывающее, загружается ли представление в настоящее время в память.
Обсуждение
Вызов этого метода сообщает, загружается ли представление. В отличие от этого
view
свойство, это не пытается загрузить представление, если это уже не находится в памяти.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 3.0 и позже.
-
Создает представление, что управляет контроллер.
Объявление
Swift
func loadView()
Objective C
- (void)loadView
Обсуждение
Вы никогда не должны вызывать этот метод непосредственно. Контроллер представления вызывает этот метод когда
view
свойство требуют, но в настоящее времяnil
. Этот метод загружает или создает представление и присваивает егоview
свойство.Если контроллер представления имеет связанный файл пера, этот метод загружает представление из файла пера. Контроллер представления имеет связанный файл пера если
nibName
свойство возвращается не -nil
значение, происходящее, если контроллер представления инстанцировали от раскадровки при явном присвоении его файл пера с помощьюinitWithNibName:bundle:
метод, или если iOS находит файл пера в комплекте приложений с именем на основе контроллера представления' s имя класса. Если контроллер представления не имеет связанного файла пера, этот метод создает плоскостьUIView
объект вместо этого.При использовании Интерфейсного Разработчика, чтобы создать представления и инициализировать контроллер представления, Вы не должны переопределять этот метод.
Можно переопределить этот метод для создания представлений вручную. Если Вы выбираете, для этого присваивают корневое представление Вашей иерархии представления к
view
свойство. Взгляды, которые Вы создаете, должны быть уникальными экземплярами и не должны быть разделены ни с каким другим объектом контроллера представления. Ваша пользовательская реализация этого метода не должна вызыватьsuper
.Если Вы хотите выполнить какую-либо дополнительную инициализацию своих представлений, сделайте так в
viewDidLoad
метод.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 2.0 и позже.
См. также
-
Вызванный после того, как контроллер' s представление загружается в память.
Объявление
Swift
func viewDidLoad()
Objective C
- (void)viewDidLoad
Обсуждение
Этот метод вызывают после того, как контроллер представления загрузил свою иерархию представления в память. Этот метод вызывают независимо от того, была ли иерархия представления загружена из файла пера или создана программно в
loadView
метод. Вы обычно переопределяете этот метод для выполнения дополнительной инициализации на представлениях, загруженных из файлов пера.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 2.0 и позже.
См. также
-
title
СвойствоЛокализованная строка, представляющая представление этот контроллер, управляет.
Обсуждение
Подклассы должны установить заголовок в человекочитаемую строку, представляющую представление пользователю.
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 2.0 и позже.
-
modalPresentationStyle
СвойствоСтиль презентации для модально представленных контроллеров представления.
Объявление
Swift
var modalPresentationStyle: UIModalPresentationStyle
Objective C
@property(nonatomic, assign) UIModalPresentationStyle modalPresentationStyle
Обсуждение
Стиль презентации определяет, как модально представленный контроллер представления выведен на экран на экране. В горизонтально компактной среде модальные контроллеры представления всегда представляются полноэкранные. В горизонтально регулярной среде существует несколько различных опций представления. Для списка возможных стилей презентации и их совместимости с доступными стилями перехода, посмотрите
Modal Presentation Styles
постоянные описания.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 3.2 и позже.
См. также
-
modalTransitionStyle
СвойствоСтиль перехода для использования при представлении получателя.
Объявление
Swift
var modalTransitionStyle: UIModalTransitionStyle
Objective C
@property(nonatomic, assign) UIModalTransitionStyle modalTransitionStyle
Обсуждение
Это свойство определяет, как контроллер представления' s анимирован на экране, когда это представлено с помощью
presentViewController:animated:completion:
метод. Для изменения типа перехода необходимо установить это свойство прежде, чем представить контроллер представления. Значение по умолчанию для этого свойстваUIModalTransitionStyleCoverVertical
.Для списка возможных стилей перехода и их совместимости с доступными стилями презентации, посмотрите
Presentation Transition Styles
постоянные описания.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 3.0 и позже.
-
Представляет контроллер представления модально.
Объявление
Swift
func presentViewController(_
viewControllerToPresent
: UIViewController, animatedflag
: Bool, completioncompletion
: (() -> Void)?)Objective C
- (void)presentViewController:(UIViewController *)
viewControllerToPresent
animated:(BOOL)flag
completion:(void (^)(void))completion
Параметры
viewControllerToPresent
Контроллер представления для отображения по содержанию контроллера текущего представления.
flag
Передача
YES
true
анимировать представление; иначе, передачаNO
false
.completion
Блок для выполнения после представления заканчивается. Этот блок не имеет никакого возвращаемого значения и не берет параметров. Можно указать
nil
для этого параметра.Обсуждение
В горизонтально компактной среде представленное представление всегда является полным экраном. В горизонтально регулярной среде представление зависит от значения в
modalPresentationStyle
свойство.Этот метод устанавливает
presentedViewController
свойство к указанному контроллеру представления, изменяет размеры того контроллера представления' s представление на основе стиля презентации и затем добавляет представление к иерархии представления. Представление анимировано на экране согласно стилю перехода, указанному вmodalTransitionStyle
свойство представленного контроллера представления.Обработчик завершения вызывают после
viewDidAppear:
метод вызывают на представленном контроллере представления.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 5.0 и позже.
-
Отклоняет контроллер представления, представленный модально получателем.
Объявление
Swift
func dismissViewControllerAnimated(_
flag
: Bool, completioncompletion
: (() -> Void)?)Objective C
- (void)dismissViewControllerAnimated:(BOOL)
flag
completion:(void (^)(void))completion
Параметры
flag
Передача
YES
true
анимировать переход.completion
Блок для выполнения после контроллера представления отклонен. Этот блок не имеет никакого возвращаемого значения и не берет параметров. Можно указать
nil
для этого параметра.Обсуждение
Контроллер представления представления ответственен за отклонение контроллера представления, который это представило. При вызове этого метода на самом представленном контроллере представления это автоматически передает сообщение к контроллеру представления представления.
При представлении нескольких контроллеров представления по очереди, таким образом создавая штабель представленных контроллеров представления, вызывание этого метода на контроллере представления ниже в штабеле отклоняет свой непосредственный дочерний контроллер представления и все контроллеры представления выше того дочернего элемента на штабеле. Когда это происходит, только самое верхнее представление отклонено анимированным способом; любые промежуточные контроллеры представления просто удалены из штабеля. Самое верхнее представление отклонено с помощью его модального стиля перехода, который может отличаться от стилей, используемых другими контроллерами представления ниже в штабеле.
Если Вы хотите сохранить ссылку на получатель' s представленный контроллер представления, вложите значение
presentedViewController
свойство прежде, чем вызвать этот метод.Обработчик завершения вызывают после
viewDidDisappear:
метод вызывают на представленном контроллере представления.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 5.0 и позже.
-
Представляет контроллер представления на основе текущего класса размера среды.
Объявление
Swift
func showViewController(_
vc
: UIViewController, sendersender
: AnyObject?)Objective C
- (void)showViewController:(UIViewController *)
vc
sender:(id)sender
Параметры
vc
Контроллер текущего представления.
sender
Реагировавший объект.
Обсуждение
Этот метод используется в сочетании с
UISplitViewController
иUINavigationController
. Когда этот метод вызывают, он вызываетtargetViewControllerForAction:sender:
на себе и вызовах этот метод на возвращенном объекте. Целевой объект может тогда вывести на экран контроллер представления надлежащим способом. Например, контроллер навигации продвигает контроллер представления на своем штабеле навигации.Если
targetViewControllerForAction:sender:
возвраты методаnil
, этот метод использует корень в настоящее время представляемой цепочки контроллера представления для представленияvc
модально.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 8.0 и позже.
-
Представляет контроллер представления в 'подробности' контекст на основе класса размера среды.
Объявление
Swift
func showDetailViewController(_
vc
: UIViewController, sendersender
: AnyObject?)Objective C
- (void)showDetailViewController:(UIViewController *)
vc
sender:(id)sender
Параметры
vc
Контроллер текущего представления.
sender
Реагировавший объект.
Обсуждение
Этот метод используется в сочетании с
UISplitViewController
иUINavigationController
. Когда этот метод вызывают, он вызываетtargetViewControllerForAction:sender:
на себе и вызовах этот метод на возвращенном объекте. Целевой объект может тогда вывести на экран контроллер представления надлежащим способом. Например, контроллер представления разделения пытается вывести на экран контроллер представления в своем вторичном слоте контроллера представления. Если вторичный контроллер представления уже существует в том слоте, тот контроллер представления просят представитьvc
надлежащим способом.Если
targetViewControllerForAction:sender:
возвраты методаnil
, этот метод использует корень в настоящее время представляемой цепочки контроллера представления для представленияvc
модально.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 8.0 и позже.
-
definesPresentationContext
СвойствоБулево значение, указывающее, покрыто ли это представление контроллера представления, когда контроллер представления или один из его потомков представляют контроллер представления.
Объявление
Swift
var definesPresentationContext: Bool
Objective C
@property(nonatomic, assign) BOOL definesPresentationContext
Обсуждение
Когда контроллер представления представлен, iOS запускается с контроллера представления представления и спрашивает его, если это хочет обеспечить контекст представления. Если контроллер представления представления не обеспечивает контекст, то iOS спрашивает контроллер представления представления' s родительский контроллер представления. iOS ищет через иерархию контроллера представления, пока контроллер представления не обеспечивает контекст представления. Если никакой контроллер представления не предлагает обеспечивать контекст, окно' s корневой контроллер представления обеспечивает контекст представления.
Если возвращается контроллер представления
YES
true
, тогда это обеспечивает контекст представления. Часть окна, покрытого контроллером представления' s представление, определяет размер представленного контроллера представления' s представление. Значение по умолчанию для этого свойстваNO
false
.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 5.0 и позже.
-
transitioningDelegate
СвойствоОбъект делегата, предоставляющий аниматору перехода и интерактивным объектам контроллера.
Объявление
Swift
unowned(unsafe) var transitioningDelegate: UIViewControllerTransitioningDelegate?
Objective C
@property(nonatomic, assign) id< UIViewControllerTransitioningDelegate > transitioningDelegate
Обсуждение
Когда этот контроллер представления
modalPresentationStyle
свойствоUIModalPresentationCustom
, Использование UIKit объект в этом свойстве для получения объектов должно было представить этот контроллер представления на экране. Переходящий делегат должен соответствоватьUIViewControllerTransitioningDelegate
протокол. Его задание должно продать объекты Animator, используемые для анимации этого представления контроллера представления на экране и дополнительного контроллера представления для обеспечения любого дополнительного хрома и анимаций.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 7.0 и позже.
-
Возвращает активного координатора перехода объект.
Объявление
Swift
func transitionCoordinator() -> UIViewControllerTransitionCoordinator?
Objective C
- (id<UIViewControllerTransitionCoordinator>)transitionCoordinator
Возвращаемое значение
Координатор перехода объект связался с в настоящее время активным переходом или
nil
если никакой переход не происходит.Обсуждение
Когда представление или увольнение происходят, этот метод возвращает координатора перехода объект, связанный с тем переходом. Если нет никакого происходящего перехода, связанного с контроллером текущего представления, UIKit проверяет наследователей контроллера представления на объект координатора и возвраты, возражающие, существует ли это. Можно использовать этот объект создать дополнительные анимации и синхронизировать их с анимациями перехода.
Контейнерные контроллеры представления могут переопределить этот метод, но в большинстве случаев не должны должны быть. При переопределении этого метода сначала проверьте, чтобы видеть, существует ли соответствующий координатор перехода для возврата, и, если существует, возвратите его. Если нет никакого соответствующего координатора для возврата, вызвать
super
.Для получения дополнительной информации о роли координаторов перехода, посмотрите Ссылку на протокол UIViewControllerTransitionCoordinator.
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 7.0 и позже.
-
Булево значение, указывающее, определяет ли контроллер представления стиль перехода для контроллеров представления, которые это представляет.
Объявление
Swift
var providesPresentationContextTransitionStyle: Bool
Objective C
@property(nonatomic, assign) BOOL providesPresentationContextTransitionStyle
Обсуждение
Когда контроллер представления обеспечивает контекст представления для представленного контроллера представления, он может принять решение переопределить стиль перехода представленного контроллера представления и заменить его собственным. Если значение этого свойства
YES
true
, тогда его собственный модальный стиль перехода используется каждый раз, когда это обеспечивает контекст для представленного контроллера представления. Если значение этого свойстваNO
false
, тогда модальный стиль перехода представленного контроллера представления' s модальный стиль перехода используется. Значение по умолчаниюNO
false
.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 5.0 и позже.
См. также
-
Возвращает булевскую переменную, указывающую, отклонено ли текущее входное представление автоматически при изменении средств управления.
Объявление
Swift
func disablesAutomaticKeyboardDismissal() -> Bool
Objective C
- (BOOL)disablesAutomaticKeyboardDismissal
Возвращаемое значение
YES
true
предотвратить увольнение входного представления илиNO
false
если может быть отклонено входное представление.Обсуждение
Переопределите этот метод в подклассе, чтобы позволить или запретить увольнение текущего входного представления (обычно системная клавиатура) при изменении от управления, хотящего входное представление к не делающему тому. При нормальных обстоятельствах, когда пользователь касается управления, требующего входного представления, система автоматически выводит на экран то представление. Ответвление в управлении, не хотящем входное представление впоследствии, заставляет текущее входное представление быть отклоненным, но не может во всех случаях. Можно переопределить этот метод в тех выдающихся случаях, чтобы позволить входному представлению быть отклоненным или использовать этот метод, чтобы препятствовать тому, чтобы представление было отклонено в других случаях.
Реализация по умолчанию этого метода возвраты
YES
true
когда модальный стиль презентации контроллера представления установлен вUIModalPresentationFormSheet
и возвратыNO
false
для других стилей презентации. Таким образом система обычно не позволяет клавиатуре быть отклоненной за модальные формы.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 4.3 и позже.
-
Возвращает контроллер представления, отвечающий действие.
Объявление
Swift
func targetViewControllerForAction(_
action
: Selector, sendersender
: AnyObject?) -> UIViewController?Objective C
- (UIViewController *)targetViewControllerForAction:(SEL)
action
sender:(id)sender
Параметры
action
Требуемое действие.
sender
Объект, отправляющий запрос.
Возвращаемое значение
Контроллер представления, реагирующий на действие.
Обсуждение
Если тот контроллер представления реагирует на селектор в, этот метод возвращает контроллер текущего представления
action
. Если контроллер текущего представления не реагирует на действие, иерархия представления пересечена для нахождения первого контроллера представления, действительно реагирующего на действие. Контроллеры представления могут выбрать из ответа на действие с помощьюcanPerformAction:withSender:
метод.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 8.0 и позже.
-
Отправленный в контроллер представления, когда приложение получает предупреждение памяти.
Объявление
Swift
func didReceiveMemoryWarning()
Objective C
- (void)didReceiveMemoryWarning
Обсуждение
Ваше приложение никогда не вызывает этот метод непосредственно. Вместо этого этот метод вызывают, когда система решает, что сумма доступной памяти является низкой.
Можно переопределить этот метод для выпуска любой дополнительной памяти, используемой контроллером представления. Если Вы делаете, Ваша реализация этого метода должна вызвать
super
реализация в некоторый момент.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 2.0 и позже.
-
Уведомляет контроллер представления, что его представление собирается быть добавленным к иерархии представления.
Объявление
Swift
func viewWillAppear(_
animated
: Bool)Objective C
- (void)viewWillAppear:(BOOL)
animated
Параметры
animated
Если
YES
true
, представление добавляется к окну с помощью анимации.Обсуждение
Этот метод вызывают, прежде чем получатель' s представление собирается быть добавленным к иерархии представления и прежде чем любые анимации будут сконфигурированы для показа представления. Можно переопределить этот метод для выполнения пользовательских задач, связанных с отображением представления. Например, Вы могли бы использовать этот метод для изменения ориентации или стиля строки состояния для координирования с ориентацией или стилем представляемого представления. При переопределении этого метода необходимо вызвать
super
в некоторый момент в Вашей реализации.Для получения дополнительной информации о, как представления добавляются для просмотра иерархий контроллером представления и последовательности сообщений, происходящих, см. Отвечающие Связанные с дисплеем Уведомления.
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 2.0 и позже.
См. также
-
Уведомляет контроллер представления, что его представление было добавлено к иерархии представления.
Объявление
Swift
func viewDidAppear(_
animated
: Bool)Objective C
- (void)viewDidAppear:(BOOL)
animated
Параметры
animated
Если
YES
true
, представление было добавлено к окну с помощью анимации.Обсуждение
Можно переопределить этот метод для выполнения дополнительных задач, связанных с представлением представления. При переопределении этого метода необходимо вызвать
super
в некоторый момент в Вашей реализации.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 2.0 и позже.
См. также
-
Уведомляет контроллер представления, что его представление собирается быть удаленным из иерархии представления.
Объявление
Swift
func viewWillDisappear(_
animated
: Bool)Objective C
- (void)viewWillDisappear:(BOOL)
animated
Параметры
animated
Если
YES
true
, исчезновение представления анимируется.Обсуждение
Этот метод вызывают в ответ на представление, удаляемое из иерархии представления. Этот метод вызывают, прежде чем представление фактически удалено и прежде чем будут сконфигурированы любые анимации.
Подклассы могут переопределить этот метод и использовать его, чтобы фиксировать редактировать изменения, оставлять первое состояние респондента представления или выполнять другие соответствующие задачи. Например, Вы могли бы использовать этот метод для возвращения изменений в ориентации или стиле строки состояния, сделанных в
viewDidDisappear:
метод, когда было сначала представлено представление. При переопределении этого метода необходимо вызватьsuper
в некоторый момент в Вашей реализации.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 2.0 и позже.
См. также
-
Уведомляет контроллер представления, что его представление было удалено из иерархии представления.
Объявление
Swift
func viewDidDisappear(_
animated
: Bool)Objective C
- (void)viewDidDisappear:(BOOL)
animated
Параметры
animated
Если
YES
true
, исчезновение представления было анимировано.Обсуждение
Можно переопределить этот метод для выполнения дополнительных задач, связанных с отклонением или сокрытием представления. При переопределении этого метода необходимо вызвать
super
в некоторый момент в Вашей реализации.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 2.0 и позже.
См. также
-
Вызванный, чтобы уведомить контроллер представления, что его представление собирается расположение его подпредставления.
Объявление
Swift
func viewWillLayoutSubviews()
Objective C
- (void)viewWillLayoutSubviews
Обсуждение
Когда представление' s изменение границ, представление корректирует позицию своих подпредставлений. Ваш контроллер представления может переопределить этот метод для внесения изменений, прежде чем представление разметит свои подпредставления. Реализация по умолчанию этого метода ничего не делает.
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 5.0 и позже.
-
Вызванный, чтобы уведомить контроллер представления, что его представление только что разметило его подпредставления.
Объявление
Swift
func viewDidLayoutSubviews()
Objective C
- (void)viewDidLayoutSubviews
Обсуждение
Когда изменение границ для контроллера представления' s представление, представление корректирует позиции своих подпредставлений и затем системных вызовов этот метод. Однако этот вызываемый метод не указывает, что были скорректированы отдельные разметки представления' s подпредставления. Каждое подпредставление ответственно за корректировку его собственного расположения.
Ваш контроллер представления может переопределить этот метод для внесения изменений после того, как представление разметит свои подпредставления. Реализация по умолчанию этого метода ничего не делает.
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 5.0 и позже.
-
Вызванный, когда контроллер представления' s представление должен обновить свои ограничения.
Объявление
Swift
func updateViewConstraints()
Objective C
- (void)updateViewConstraints
Обсуждение
Можно переопределить этот метод в подклассе для добавления ограничений к представлению или его подпредставлениям. При переопределении этого метода реализация должна вызвать реализацию super.
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 6.0 и позже.
-
automaticallyAdjustsScrollViewInsets
СвойствоБулево значение, указывающее, должен ли контроллер представления автоматически скорректировать свои вставки представления прокрутки.
Объявление
Swift
var automaticallyAdjustsScrollViewInsets: Bool
Objective C
@property(nonatomic, assign) BOOL automaticallyAdjustsScrollViewInsets
Обсуждение
Значение по умолчанию
YES
true
, который позволяет контроллеру представления корректировать свои вставки представления прокрутки в ответ на экранные области, использованные строкой состояния, панелью навигации, и панелью инструментов или панелью вкладок. Набор кNO
false
если Вы хотите управлять корректировками вставки представления прокрутки сами, такой как тогда, когда существует больше чем одно представление прокрутки в иерархии представления.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 7.0 и позже.
-
preferredContentSize
СвойствоПредпочтительный размер для представления контроллера представления.
Объявление
Swift
var preferredContentSize: CGSize
Objective C
@property(nonatomic) CGSize preferredContentSize
Обсуждение
Значение в этом свойстве используется прежде всего при отображении содержания контроллера представления в легкой сдобе, но может также использоваться в других ситуациях. Изменение значения этого свойства, в то время как контроллер представления выводится на экран в легкой сдобе, анимирует изменение размера; однако, изменение не анимировано при указании ширины или высоты
0.0
.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 7.0 и позже.
-
edgesForExtendedLayout
СвойствоРасширенные края для использования для расположения.
Объявление
Swift
var edgesForExtendedLayout: UIRectEdge
Objective C
@property(nonatomic, assign) UIRectEdge edgesForExtendedLayout
Обсуждение
Это свойство только применяется для просмотра контроллеров, встраивающихся в контейнеры, такой как
UINavigationController
илиUITabBarController
. Набор контроллеров представления как корневой контроллер представления не реагирует на это свойство. Значение по умолчаниюUIRectEdgeAll
.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 7.0 и позже.
-
extendedLayoutIncludesOpaqueBars
СвойствоБулево значение, указывающее, включает ли расширенное расположение непрозрачные панели.
Объявление
Swift
var extendedLayoutIncludesOpaqueBars: Bool
Objective C
@property(nonatomic, assign) BOOL extendedLayoutIncludesOpaqueBars
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 7.0 и позже.
-
bottomLayoutGuide
СвойствоУказывает самую низкую вертикальную степень для Вашего экранного содержания, для использования с Автоматическими Ограничениями макета. (только для чтения)
Объявление
Swift
var bottomLayoutGuide: UILayoutSupport { get }
Objective C
@property(nonatomic, readonly, retain) id< UILayoutSupport > bottomLayoutGuide
Обсуждение
bottomLayoutGuide
когда контроллер представления является frontmost на экране, свойство играет роль. Это указывает самую низкую вертикальную степень для содержания, чтобы Вы не хотели появляться позади полупрозрачной или прозрачной панели UIKit (такой как панель вкладок или панель инструментов). Это свойство реализуетUILayoutSupport
протокол и Вы можете использовать его как ограничительный элемент при использованииNSLayoutConstraint
класс.Значение этого свойства является, в частности, значением
length
свойство объекта возвратилось при запросах этого свойства. Это значение ограничивается или контроллером представления или его контроллером представления контейнера включения (таким как панель навигации или контроллер панели вкладок), следующим образом:Контроллер представления не в контейнерном контроллере представления ограничивает это свойство указывать вершину панели вкладок или панели инструментов, если один из них видим, или иначе указать базовый край контроллера представления' s представление.
Контроллер представления в контейнерном контроллере представления не устанавливает это свойство’ s значение. Вместо этого контейнерный контроллер представления ограничивает значение указывать вершину панели вкладок или панели инструментов, если один из них видим, или иначе указать базовый край контроллера представления' s представление.
Если контейнерный контроллер представления' s панель инструментов или панель вкладок видим и непрозрачен, контейнер размечает представление контроллера представления frontmost, таким образом, его базовый край примыкает к вершине панели. В этом случае значение этого свойства 0.
Запросите это свойство в своей реализации
viewDidLayoutSubviews
метод.При разметке сцены раскадровки Нижний объект Руководства по Расположению доступен в Интерфейсном представлении схемы Разработчика как дочерний элемент объекта Контроллера Представления. Добавление нижнего Разработчика Интерфейса использования руководства по расположению обеспечивает обратную совместимость расположения для iOS 6.
Как пример того, как программно использовать это свойство с Автоматическим Расположением, скажите, что Вы хотите расположить управление, таким образом, что его базовый край является 20 точками выше нижнего руководства по расположению. Этот сценарий применяется к любому из упомянутых выше сценариев. Используйте код, подобный следующему:
[button setTranslatesAutoresizingMaskIntoConstraints: NO];
id bottomGuide = myViewController.bottomLayoutGuide;
NSDictionary *viewsDictionary = NSDictionaryOfVariableBindings (button, bottomGuide);
[myViewController.view addConstraints:
[NSLayoutConstraint constraintsWithVisualFormat: @"V: [button]-20-[bottomGuide]"
options: 0
metrics: nil
views: viewsDictionary]];
[self.view layoutSubviews]; // You must call this method here or the system raises an exception
Для использования нижнего руководства по расположению, не используя ограничения получите позицию руководства относительно нижней части, связанной содержания представления. В случае использования подкласса контроллера представления получите числа, в которых Вы нуждаетесь следующим образом:
- (void) viewDidLayoutSubviews {
CGRect viewBounds = self.view.bounds;
CGFloat bottomBarOffset = self.bottomLayoutGuide.length;
}
В случае использования подкласса представления получите числа, в которых Вы нуждаетесь следующим образом:
- (void) layoutSubviews {
[super layoutSubviews]; // You must call super here or the system raises an exception
CGRect bounds = self.bounds;
CGFloat bottomBarOffset = myVCReference.bottomLayoutGuide.length;
}
Для большего руководства при использовании контроллеров представления в iOS 7 читайте Используя Контроллеры Представления в Руководстве по Переходу iOS 7 UI.
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 7.0 и позже.
См. также
-
topLayoutGuide
СвойствоУказывает самую высокую вертикальную степень для Вашего экранного содержания, для использования с Автоматическими Ограничениями макета. (только для чтения)
Объявление
Swift
var topLayoutGuide: UILayoutSupport { get }
Objective C
@property(nonatomic, readonly, retain) id< UILayoutSupport > topLayoutGuide
Обсуждение
topLayoutGuide
когда контроллер представления является frontmost на экране, свойство играет роль. Это указывает самую высокую вертикальную степень для содержания, чтобы Вы не хотели появляться позади полупрозрачной или прозрачной панели UIKit (такой как строка состояния или панель навигации). Это свойство реализуетUILayoutSupport
протокол и Вы можете использовать его как ограничительный элемент при использованииNSLayoutConstraint
класс.Значение этого свойства является, в частности, значением
length
свойство объекта возвратилось при запросах этого свойства. Это значение ограничивается или контроллером представления или его контроллером представления контейнера включения (таким как панель навигации или контроллер панели вкладок), следующим образом:Контроллер представления не в контейнерном контроллере представления ограничивает это свойство указывать нижнюю часть строки состояния, если видимый, или иначе указывать главный край представления контроллера представления.
Контроллер представления в контейнерном контроллере представления не устанавливает значение этого свойства. Вместо этого контейнерный контроллер представления ограничивает значение указывать:
Нижняя часть панели навигации, если панель навигации видима
Нижняя часть строки состояния, если только строка состояния видима
Главный край контроллера представления' s представление, если ни строка состояния, ни панель навигации не видимы
Если контейнерный контроллер навигации' s панель навигации видим и непрозрачен, контроллер навигации размечает контроллер представления frontmost' s представление, таким образом, его главный край примыкает к нижней части панели навигации. В этом случае значение этого свойства
0
.Запросите это свойство в своей реализации
viewDidLayoutSubviews
метод.При разметке сцены раскадровки Главный объект Руководства по Расположению доступен в Интерфейсном представлении схемы Разработчика как дочерний элемент объекта Контроллера Представления. Добавление главного Разработчика Интерфейса использования руководства по расположению обеспечивает обратную совместимость для iOS 6.
Как пример того, как программно использовать это свойство с Автоматическим Расположением, скажите, что Вы хотите расположить управление, таким образом, что его главный край является 20 точками ниже главного руководства по расположению. Этот сценарий применяется к любому из упомянутых выше сценариев. Используйте код, подобный следующему:
[button setTranslatesAutoresizingMaskIntoConstraints: NO];
id topGuide = myViewController.topLayoutGuide;
NSDictionary *viewsDictionary = NSDictionaryOfVariableBindings (button, topGuide);
[myViewController.view addConstraints:
[NSLayoutConstraint constraintsWithVisualFormat: @"V: [topGuide]-20-[button]"
options: 0
metrics: nil
views: viewsDictionary]];
[self.view layoutSubviews]; // You must call this method here or the system raises an exception
Для использования главного руководства по расположению, не используя ограничения получите руководство’ s позиция относительно вершины, связанной содержания представления. В случае использования подкласса контроллера представления получите числа, в которых Вы нуждаетесь следующим образом:
- (void) viewDidLayoutSubviews {
CGRect viewBounds = self.view.bounds;
CGFloat topBarOffset = self.topLayoutGuide.length;
}
В случае использования подкласса представления получите числа, в которых Вы нуждаетесь следующим образом:
- (void) layoutSubviews {
[super layoutSubviews]; // You must call super here or the system raises an exception
CGRect bounds = self.bounds;
CGFloat topBarOffset = myVCReference.topLayoutGuide.length;
}
Для большего руководства при использовании контроллеров представления в iOS 7 читайте Используя Контроллеры Представления в Руководстве по Переходу iOS 7 UI.
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 7.0 и позже.
См. также
-
Возвращает булево значение, указывающее, что контроллер представления находится в процессе того, чтобы быть удаленным из его родителя.
Объявление
Swift
func isMovingFromParentViewController() -> Bool
Objective C
- (BOOL)isMovingFromParentViewController
Возвращаемое значение
YES
true
если контроллер представления исчезает, потому что он был удален из контейнерного контроллера представления, иначеNO
false
.Обсуждение
Этот метод возвраты
YES
true
только, когда вызвано изнутриviewWillDisappear:
иviewDidDisappear:
методы.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 5.0 и позже.
-
Возвращает булево значение, указывающее, что контроллер представления находится в процессе того, чтобы быть добавленным к родителю.
Объявление
Swift
func isMovingToParentViewController() -> Bool
Objective C
- (BOOL)isMovingToParentViewController
Возвращаемое значение
YES
true
если контроллер представления появляется, потому что он был добавлен как дочерний элемент контейнерного контроллера представления, иначеNO
false
.Обсуждение
Этот метод возвраты
YES
true
только, когда вызвано изнутриviewWillAppear:
иviewDidAppear:
методы.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 5.0 и позже.
-
Возвращает булево значение, указывающее, является ли контроллер представления в процессе того, чтобы быть представленным одним из его наследователей.
Объявление
Swift
func isBeingPresented() -> Bool
Objective C
- (BOOL)isBeingPresented
Возвращаемое значение
YES
true
если контроллер представления появляется, потому что он был представлен другим контроллером представления, иначеNO
false
.Обсуждение
Этот метод возвраты
YES
true
только, когда вызвано изнутриviewWillAppear:
иviewDidAppear:
методы.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 5.0 и позже.
-
Возвращает булево значение, указывающее, является ли контроллер представления в процессе того, чтобы быть отклоненным одним из его наследователей.
Объявление
Swift
func isBeingDismissed() -> Bool
Objective C
- (BOOL)isBeingDismissed
Возвращаемое значение
YES
true
если контроллер представления был ранее представлен и находится в процессе того, чтобы быть отклоненным одним из его наследователей, иначеNO
false
.Обсуждение
Этот метод возвраты
YES
true
только, когда вызвано изнутриviewWillDisappear:
иviewDidDisappear:
методы.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 5.0 и позже.
-
Возвращает булево значение, указывающее, должен ли контроллер представления' s содержание автоматический вращаться.
Объявление
Swift
func shouldAutorotate() -> Bool
Objective C
- (BOOL)shouldAutorotate
Возвращаемое значение
YES
true
если содержание должно вращаться, иначеNO
false
. Значение по умолчаниюYES
true
.Специальные замечания
В iOS 5 и ранее, возвращаемое значение по умолчанию было
NO
false
.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 6.0 и позже.
-
Возвраты все интерфейсные ориентации, которые поддерживает контроллер представления.
Объявление
Swift
func supportedInterfaceOrientations() -> Int
Objective C
- (NSUInteger)supportedInterfaceOrientations
Возвращаемое значение
Немного маски, указывающей, какие ориентации поддерживаются. Посмотрите
UIInterfaceOrientationMask
для допустимых значений битовой маски. Значение, возвращенное этим методом, не должно быть0
.Обсуждение
Когда пользователь изменяет ориентацию устройства, системные вызовы этот метод на корневом контроллере представления или самом верхнем представленном контроллере представления, заполняющем окно. Если контроллер представления поддерживает новую ориентацию, окно и контроллер представления повернуты к новой ориентации. Этот метод только вызывают если контроллер представления' s
shouldAutorotate
возвраты методаYES
true
.Переопределите этот метод для создания отчетов обо всех ориентациях, которые поддерживает контроллер представления. Значения по умолчанию для контроллера представления' s поддерживаемые интерфейсные ориентации установлены в
UIInterfaceOrientationMaskAll
для идиомы iPad иUIInterfaceOrientationMaskAllButUpsideDown
для идиомы iPhone.Система пересекает контроллер представления' s поддерживаемые ориентации с поддерживаемыми ориентациями приложения (как определено файлом Info.plist или делегат приложения
application:supportedInterfaceOrientationsForWindow:
метод), чтобы определить, вращаться ли.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 6.0 и позже.
См. также
-
Возвращает интерфейсную ориентацию для использования при представлении контроллера представления.
Объявление
Swift
func preferredInterfaceOrientationForPresentation() -> UIInterfaceOrientation
Objective C
- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
Возвращаемое значение
Интерфейсная ориентация, с которой можно представить контроллер представления.
Обсуждение
Системные вызовы этот метод при представлении полного экрана контроллера представления. Вы реализуете этот метод, когда Ваш контроллер представления поддерживает две или больше ориентации, но содержание кажется лучшим в одной из тех ориентаций.
Если Ваш контроллер представления реализует этот метод, то, когда представлено, его представление показано в предпочтительной ориентации (несмотря на то, что это может позже быть повернуто к другому поддерживаемому вращению). Если Вы не реализуете этот метод, система представляет контроллер представления с помощью текущей ориентации строки состояния.
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 6.0 и позже.
-
Попытки повернуть все окна к ориентации устройства.
Объявление
Swift
class func attemptRotationToDeviceOrientation()
Objective C
+ (void)attemptRotationToDeviceOrientation
Обсуждение
Некоторые контроллеры представления могут хотеть использовать специфичные для приложения условия определить, какие интерфейсные ориентации поддерживаются. Если Ваш контроллер представления делает это, когда те условия изменяются, Ваше приложение должно вызвать этот метод класса. Система сразу пытается вращаться к новой ориентации.
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 5.0 и позже.
См. также
-
collapseSecondaryViewController (_: forSplitViewController:) - collapseSecondaryViewController:forSplitViewController:
Вызванный, когда контроллер представления разделения переходы к классу размера компактной ширины.
Объявление
Swift
func collapseSecondaryViewController(_
secondaryViewController
: UIViewController, forSplitViewControllersplitViewController
: UISplitViewController)Objective C
- (void)collapseSecondaryViewController:(UIViewController *)
secondaryViewController
forSplitViewController:(UISplitViewController *)splitViewController
Параметры
secondaryViewController
Вторичный контроллер представления связался с контроллером представления разделения.
splitViewController
Текущее разделение просматривает контроллер.
Обсуждение
Когда Вы не перезаписываете, этот метод обеспечивает поведение по умолчанию
splitViewController:collapseSecondaryViewController:ontoPrimaryViewController:
метод. Основной контроллер представления, связанный с контроллером представления разделения, выведен на экран.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 8.0 и позже.
-
separateSecondaryViewControllerForSplitViewController (_:) - separateSecondaryViewControllerForSplitViewController:
Вызванный, когда контроллер представления разделения переходы к классу размера регулярной ширины.
Объявление
Swift
func separateSecondaryViewControllerForSplitViewController(_
splitViewController
: UISplitViewController) -> UIViewControllerObjective C
- (UIViewController *)separateSecondaryViewControllerForSplitViewController:(UISplitViewController *)
splitViewController
Параметры
splitViewController
Текущее разделение просматривает контроллер.
Возвращаемое значение
Определяемый вторичный контроллер представления для разделения просматривает контроллер.
Обсуждение
Когда Вы не перезаписываете, этот метод обеспечивает поведение по умолчанию
splitViewController:separateSecondaryViewControllerFromPrimaryViewController:
метод. Предыдущий вторичный контроллер представления возвращается.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 8.0 и позже.
-
childViewControllers
СвойствоМассив контроллеров представления, которые являются дочерними элементами получателя в иерархии контроллера представления. (только для чтения)
Объявление
Swift
var childViewControllers: [AnyObject] { get }
Objective C
@property(nonatomic, readonly) NSArray *childViewControllers
Обсуждение
Это свойство не включает представленных контроллеров представления.
Это свойство только предназначается, чтобы быть считанным реализацией пользовательского контейнерного контроллера представления.
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 5.0 и позже.
-
Добавляет данный контроллер представления как дочерний элемент.
Объявление
Swift
func addChildViewController(_
childController
: UIViewController)Objective C
- (void)addChildViewController:(UIViewController *)
childController
Параметры
childController
Контроллер представления, который будет добавлен как дочерний элемент.
Обсуждение
Если новый дочерний контроллер представления уже является дочерним элементом контейнерного контроллера представления, он удален из того контейнера прежде чем быть добавленным.
Этот метод только предназначается, чтобы быть вызванным реализацией пользовательского контейнерного контроллера представления. При переопределении этого метода необходимо вызвать
super
в Вашей реализации.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 5.0 и позже.
-
Удаляет получатель из его родителя в иерархии контроллера представления.
Объявление
Swift
func removeFromParentViewController()
Objective C
- (void)removeFromParentViewController
Обсуждение
Этот метод только предназначается, чтобы быть вызванным реализацией пользовательского контейнерного контроллера представления. При переопределении этого метода необходимо вызвать
super
в Вашей реализации.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 5.0 и позже.
-
transitionFromViewController (_: toViewController:duration:options:animations:completion:) - transitionFromViewController:toViewController:duration:options:animations:completion:
Переходы между двумя из контроллера представления' s дочерний элемент просматривают контроллеры.
Объявление
Swift
func transitionFromViewController(_
fromViewController
: UIViewController, toViewControllertoViewController
: UIViewController, durationduration
: NSTimeInterval, optionsoptions
: UIViewAnimationOptions, animationsanimations
: (() -> Void)?, completioncompletion
: ((Bool) -> Void)?)Objective C
- (void)transitionFromViewController:(UIViewController *)
fromViewController
toViewController:(UIViewController *)toViewController
duration:(NSTimeInterval)duration
options:(UIViewAnimationOptions)options
animations:(void (^)(void))animations
completion:(void (^)(BOOL finished))completion
Параметры
fromViewController
Контроллер представления, представление которого в настоящее время видимо в родителе' s иерархия представления.
toViewController
Дочерний контроллер представления, представление которого в настоящее время не находится в иерархии представления.
duration
Общая продолжительность анимаций, в секундах. При передаче нуля изменения внесены, не анимируя их.
options
Маска опций, указывающих, как Вы хотите выполнить анимации. Для списка допустимых констант посмотрите
UIViewAnimationOptions
.animations
Блочный объект, содержащий изменения для передавания представления. Здесь Вы программно изменяете любые animatable свойства представлений в Вашей иерархии представления. Этот блок не берет параметров и не имеет никакого возвращаемого значения. Этот параметр не должен быть
NULL
.completion
Блок, который вызовут, когда завершается анимация.
Блок берет следующие параметры:
finished
YES
true
если закончилась анимация;NO
false
если это было пропущено.Обсуждение
Этот метод добавляет второй контроллер представления' s представление к иерархии представления и затем выполняет анимации, определенные в Вашем блоке анимаций. После того, как анимация завершается, она демонтирует первый контроллер представления' s представление от иерархии представления.
Этот метод только предназначается, чтобы быть вызванным реализацией пользовательского контейнерного контроллера представления. При переопределении этого метода необходимо вызвать
super
в Вашей реализации.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 5.0 и позже.
-
Возвращает булево значение, указывающее, передаются ли методы появления дочерним контроллерам представления.
Объявление
Swift
func shouldAutomaticallyForwardAppearanceMethods() -> Bool
Objective C
- (BOOL)shouldAutomaticallyForwardAppearanceMethods
Возвращаемое значение
YES
true
если методы появления передаются илиNO
false
если они не.Обсуждение
Этот метод вызывают, чтобы определить, передать ли автоматически связанные с появлением обратные вызовы включения дочерним контроллерам представления.
Возвраты реализации по умолчанию
YES
true
. ПодклассыUIViewController
класс, которые реализуют логику включения, может переопределить этот метод, чтобы управлять, как передаются эти методы. Если Вы переопределяете этот метод и возвратNO
false
, когда его представления собираются появиться или исчезнуть, Вы ответственны за сообщение дочернему элементу. Вы делаете это путем вызова дочернего контроллера представления' sbeginAppearanceTransition:animated:
иendAppearanceTransition
методы.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 6.0 и позже.
-
Говорит дочернему контроллеру, что его появление собирается измениться.
Объявление
Swift
func beginAppearanceTransition(_
isAppearing
: Bool, animatedanimated
: Bool)Objective C
- (void)beginAppearanceTransition:(BOOL)
isAppearing
animated:(BOOL)animated
Параметры
isAppearing
YES
true
если дочерний контроллер представления' s представление собирается, добавляются к иерархии представления,NO
false
если это удаляется.animated
Если
YES
true
, переход анимируется.Обсуждение
При реализации пользовательского контейнерного контроллера используйте этот метод, чтобы сказать дочернему элементу, что его представления собираются появиться или исчезнуть. Не вызывать
viewWillAppear:
,viewWillDisappear:
,viewDidAppear:
, илиviewDidDisappear:
непосредственно.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 5.0 и позже.
См. также
-
Говорит дочернему контроллеру, что изменилось его появление.
Объявление
Swift
func endAppearanceTransition()
Objective C
- (void)endAppearanceTransition
Обсуждение
При реализации пользовательского контейнерного контроллера используйте этот метод, чтобы сказать дочернему элементу, что переход представления завершен.
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 5.0 и позже.
См. также
-
setOverrideTraitCollection (_: forChildViewController:) - setOverrideTraitCollection:forChildViewController:
Изменяет черты, присвоенные указанному дочернему контроллеру представления.
Объявление
Swift
func setOverrideTraitCollection(_
collection
: UITraitCollection?, forChildViewControllerchildViewController
: UIViewController)Objective C
- (void)setOverrideTraitCollection:(UITraitCollection *)
collection
forChildViewController:(UIViewController *)childViewController
Параметры
collection
Новые черты для применения к дочернему контроллеру представления.
childViewController
Дочерний контроллер представления, кто набор черты, должен быть изменен.
Обсуждение
Обычно, черты передаются неизмененные с родительского контроллера представления на его дочерние контроллеры представления. При реализации пользовательского контейнерного контроллера представления можно использовать этот метод для изменения черт любых встроенных дочерних контроллеров представления к чему-то более подходящему для расположения. Внесение такого изменения изменяет другие способы поведения контроллера представления, связанные с тем дочерним элементом. Например, модальные представления ведут себя по-другому в горизонтально компактный по сравнению с горизонтально регулярной средой. Вы могли бы также внести такое изменение для принуждения того же набора черт на дочернем контроллере представления независимо от фактической среды черты.
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 8.0 и позже.
-
Получает набор черты для дочернего контроллера представления.
Объявление
Swift
func overrideTraitCollectionForChildViewController(_
childViewController
: UIViewController) -> UITraitCollection!Objective C
- (UITraitCollection *)overrideTraitCollectionForChildViewController:(UIViewController *)
childViewController
Параметры
childViewController
Контроллер представления, кто набор черты, должен быть возвращен.
Возвращаемое значение
Набор черты для определяемого контроллера представления.
Обсуждение
Используйте этот метод для получения набора черты для дочернего контроллера представления. Можно тогда изменить набор черты для определяемого дочернего контроллера представления и установить его с помощью
setOverrideTraitCollection:forChildViewController:
метод.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 8.0 и позже.
-
Вызванный непосредственно перед тем, как контроллер представления добавлен или удален из контейнерного контроллера представления.
Объявление
Swift
func willMoveToParentViewController(_
parent
: UIViewController?)Objective C
- (void)willMoveToParentViewController:(UIViewController *)
parent
Параметры
parent
Родительский контроллер представления, или
nil
если нет никакого родителя.Обсуждение
Ваш контроллер представления может переопределить этот метод, когда это должно знать, что было добавлено к контейнеру.
При реализации собственного контейнерного контроллера представления он должен вызвать
willMoveToParentViewController:
метод дочернего контроллера представления прежде, чем вызватьremoveFromParentViewController
метод, передающий в родительском значенииnil
.Когда Ваш пользовательский контейнер вызывает
addChildViewController:
метод, это автоматически вызываетwillMoveToParentViewController:
метод контроллера представления, который будет добавлен как дочерний элемент прежде, чем добавить его.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 5.0 и позже.
См. также
-
Вызванный после того, как контроллер представления добавлен или удален из контейнерного контроллера представления.
Объявление
Swift
func didMoveToParentViewController(_
parent
: UIViewController?)Objective C
- (void)didMoveToParentViewController:(UIViewController *)
parent
Параметры
parent
Родительский контроллер представления, или
nil
если нет никакого родителя.Обсуждение
Ваш контроллер представления может переопределить этот метод, когда это хочет реагировать на то, чтобы быть добавленным к контейнеру.
При реализации собственного контейнерного контроллера представления он должен вызвать
didMoveToParentViewController:
если нет никакого перехода, сразу после вызова, метод дочернего контроллера представления после перехода к новому контроллеру завершен илиaddChildViewController:
метод.removeFromParentViewController
метод автоматически вызываетdidMoveToParentViewController:
метод дочернего контроллера представления после того, как это удаляет дочерний элемент.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 5.0 и позже.
См. также
-
editing
СвойствоБулево значение, указывающее, позволяет ли контроллер представления в настоящее время пользователю редактировать содержание представления.
Объявление
Swift
var editing: Bool
Objective C
@property(nonatomic, getter=isEditing) BOOL editing
Обсуждение
Если
YES
true
, контроллер представления в настоящее время позволяет редактировать; иначе,NO
false
.Если представление доступно для редактирования, и связанный контроллер навигации содержит сделанную редактированием кнопку, то кнопка Done выведена на экран; иначе, кнопка Edit выведена на экран. Щелчок по любой кнопке переключает состояние этого свойства. Добавьте сделанную редактированием кнопку путем установки пользовательского левого или правого представления элемента навигации к значению, возвращенному
editButtonItem
метод. Установитеediting
свойство к начальному состоянию Вашего представления. ИспользуйтеsetEditing:animated:
метод как метод действия анимировать переход этого состояния, если представление уже выведено на экран.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 2.0 и позже.
См. также
-
Наборы, показывает ли контроллер представления доступное для редактирования представление.
Объявление
Swift
func setEditing(_
editing
: Bool, animatedanimated
: Bool)Objective C
- (void)setEditing:(BOOL)
editing
animated:(BOOL)animated
Параметры
editing
Если
YES
true
, контроллер представления должен вывести на экран доступное для редактирования представление; иначе,NO
false
.Если
YES
true
и одно из пользовательских представленийnavigationItem
свойство установлено в значение, возвращенноеeditButtonItem
метод, связанный контроллер навигации выводит на экран кнопку Done; иначе, кнопка Edit.animated
Если
YES
true
, анимирует переход; иначе, не делает.Обсуждение
Подклассы, использующие сделанную редактированием кнопку, должны переопределить этот метод для изменения их представления на доступное для редактирования состояние если
editing
YES
true
и недоступное для редактирования состояние, если этоNO
false
. Этот метод должен вызвать супер’ s реализация прежде, чем обновить ее представление.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 2.0 и позже.
См. также
-
restorationIdentifier
СвойствоИдентификатор, определяющий, поддерживает ли контроллер представления восстановление состояния.
Объявление
Swift
var restorationIdentifier: String?
Objective C
@property(nonatomic, copy) NSString *restorationIdentifier
Обсуждение
Это свойство указывает, должны ли контроллер представления и его содержание быть сохранены и используются для идентификации контроллера представления во время процесса восстановления. Значение этого свойства
nil
по умолчанию, который указывает, что не должен быть сохранен контроллер представления. Присвоение строкового объекта к свойству позволяет системе знать, что должен быть сохранен контроллер представления. Кроме того, содержание строки является Вашим способом идентифицировать цель контроллера представления.Во время последующих запусков UIKit просит у Вашего приложения справку в воссоздании контроллеров представления, установленных в прошлый раз, когда Ваше приложение работало. Когда это просит определенный контроллер представления, UIKit предоставляет Вашему приложению этот идентификатор восстановления и идентификаторы восстановления любых родительских контроллеров представления в иерархии контроллера представления. Ваше приложение должно использовать эту информацию, чтобы создать или определить местоположение надлежащего объекта контроллера представления.
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 6.0 и позже.
-
restorationClass
СвойствоКласс, ответственный за воссоздание этого контроллера представления при восстановлении приложения' s состояние.
Объявление
Swift
var restorationClass: AnyObject.Type?
Objective C
@property(nonatomic, readwrite, assign) Class< UIViewControllerRestoration > restorationClass
Обсуждение
Если контроллер представления имеет связанный класс восстановления,
viewControllerWithRestorationIdentifierPath:coder:
метод того класса вызывают во время восстановления состояния. Тот метод ответственен за возврат объекта контроллера представления, соответствующего обозначенный контроллер представления. Если Вы не указываете класс восстановления для своего контроллера представления, механизм восстановления состояния просит, чтобы Ваш делегат приложения обеспечил объект контроллера представления вместо этого.Класс восстановления должен соответствовать
UIViewControllerRestoration
протокол.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 6.0 и позже.
-
Кодирует связанную с состоянием информацию для контроллера представления.
Объявление
Swift
func encodeRestorableStateWithCoder(_
coder
: NSCoder)Objective C
- (void)encodeRestorableStateWithCoder:(NSCoder *)
coder
Параметры
coder
Объект кодера использовать для кодирования состояния контроллера представления.
Обсуждение
Не вызывайте этот метод непосредственно. Системные вызовы этот метод во время процесса сохранения состояния для предоставления контроллера представления или контроллера представления разделяют шанс на подклассы сохранить связанную с состоянием информацию.
При решении, что данные сохранить, запишите, что самый маленький объем данных должен был восстановить контроллер представления к своей текущей конфигурации. Информация Вы, сохранение должно быть данными, которые Вы не могли легко воссоздать, такие как текущий выбор пользователя. Вы могли бы также сохранить ссылки на любые объекты данных, которые использовал контроллер представления, но никогда не пишите сами объекты данных в кодер. Вместо этого храните достаточно информации так, чтобы можно было получить объекты данных из приложения' s основные структуры данных снова.
Строго рекомендуется вызвать
super
в некоторый момент во время Вашей реализации, чтобы дать родительским классам возможность сохранить информацию. AUIViewController
объект сохраняет ссылку на представленный контроллер представления и на раскадровку (если таковые имеются), который использовался для создания контроллера представления. Контроллер представления также просит, чтобы представления в его иерархии представления сохранили любую релевантную информацию. Однако контроллер представления автоматически не сохраняет ссылки на содержавшие дочерние контроллеры представления. При реализации пользовательского контейнерного контроллера представления необходимо закодировать дочерние объекты контроллера представления сами, если Вы хотите, чтобы они были сохранены.Ваша реализация этого метода может закодировать другие восстановимые объекты представления, контроллеры представления и объекты, принимающие
UIStateRestoring
протокол, использованиеencodeObject:forKey:
метод предоставленного объекта кодера. Кодирование восстановимого объекта пишет что объект' s идентификатор восстановления к кодеру. Тот идентификатор тогда используется во время процесса декодирования для определения местоположения новой версии объекта. Если контроллер представления или представления определяет свою собственную собственную версию этого метода, тот метод также вызывают в некоторый момент так, чтобы объект мог закодировать свое собственное состояние.Для объектов, которые не восстановимы, кодируя объект, пишет его данные (и не идентификатор восстановления) к архиву. Такие объекты должны принять
NSCoding
протокол. Во время декодирования система создает новый объект, инициализирующийся с данными от архива.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 6.0 и позже.
См. также
-
Декодирует и восстанавливает связанную с состоянием информацию для контроллера представления.
Объявление
Swift
func decodeRestorableStateWithCoder(_
coder
: NSCoder)Objective C
- (void)decodeRestorableStateWithCoder:(NSCoder *)
coder
Параметры
coder
Объект кодера использовать для декодирования состояния представления.
Обсуждение
Не вызывайте этот метод непосредственно. Системные вызовы, которые обрабатывает этот метод во время восстановления состояния так, чтобы можно было восстановить контроллер представления к его предыдущему состоянию.
Если Ваши поддержки приложений утверждают восстановление, переопределяют этот метод для каких-либо контроллеров представления, для которых Вы также переопределили
encodeRestorableStateWithCoder:
метод. Ваша реализация этого метода должна использовать любую сохраненную информацию состояния для восстановления контроллера представления к его предыдущей конфигурации. Если ВашencodeRestorableStateWithCoder:
метод вызываютsuper
, этот метод должен так же вызватьsuper
в некоторый момент в его реализации.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 6.0 и позже.
См. также
-
Обращенный восстановленные контроллеры представления после того, как другое объектное декодирование завершено.
Объявление
Swift
func applicationFinishedRestoringState()
Objective C
- (void)applicationFinishedRestoringState
Обсуждение
После того, как другое объектное декодирование завершилось, системные вызовы этот метод. Это позволяет контроллеру представления завершать установку после другого восстановления состояния, полагаясь на систему, чтобы гарантировать, что декодировались состояния всех объектов от архива восстановления.
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 7.0 и позже.
-
presentingViewController
СвойствоКонтроллер представления, представивший этот контроллер представления. (только для чтения)
Объявление
Swift
var presentingViewController: UIViewController? { get }
Objective C
@property(nonatomic, readonly) UIViewController *presentingViewController
Обсуждение
Когда Вы представляете контроллер представления модально (или явно или неявно) использование
presentViewController:animated:completion:
метод, представленный контроллер представления имеет этот набор свойств к контроллеру представления, представившему его. Если контроллер представления не был представлен модально, но один из его наследователей был, это свойство содержит контроллер представления, представивший наследователя. Если ни один, контроллер текущего представления или любой из его наследователей были представлены модально, значение в этом свойстве, неnil
.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 5.0 и позже.
-
presentedViewController
СвойствоКонтроллер представления, представленный этим контроллером представления или одним из его наследователей в иерархии контроллера представления. (только для чтения)
Объявление
Swift
var presentedViewController: UIViewController? { get }
Objective C
@property(nonatomic, readonly) UIViewController *presentedViewController
Обсуждение
Когда Вы представляете контроллер представления модально (или явно или неявно) использование
presentViewController:animated:completion:
метод, контроллер представления, названный методом имеющий этот набор свойств к контроллеру представления, который это представило. Если контроллер текущего представления не представлял другой контроллер представления модально, значение в этом свойствеnil
.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 5.0 и позже.
-
parentViewController
СвойствоРодительский контроллер представления получателя. (только для чтения)
Объявление
Swift
var parentViewController: UIViewController? { get }
Objective C
@property(nonatomic, readonly) UIViewController *parentViewController
Обсуждение
Если получатель является дочерним элементом контейнерного контроллера представления, это свойство содержит контроллер представления, в котором оно содержится. Если у получателя нет родителя, значение в этом свойстве
nil
.До iOS 5.0, если бы представление не имело родительского контроллера представления и представлялось, был бы возвращен контроллер представления представления. На iOS 5 больше не происходит это поведение. Вместо этого используйте
presentingViewController
свойство для доступа к представлению просматривает контроллер.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 2.0 и позже.
-
popoverPresentationController
СвойствоСамый близкий наследователь в иерархии контроллера представления, которая является контроллером представления легкой сдобы. (только для чтения)
Объявление
Swift
var popoverPresentationController: UIPopoverPresentationController? { get }
Objective C
@property(nonatomic, readonly) UIPopoverPresentationController *popoverPresentationController
Обсуждение
Если получателем или одним из его наследователей управляет контроллер представления легкой сдобы, это свойство содержит контроллер представления легкой сдобы владения. Это свойство
nil
если контроллером представления не управляет контроллер представления легкой сдобы.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 8.0 и позже.
-
presentationController
СвойствоСамый близкий наследователь в иерархии контроллера представления, которая является контроллером представления. (только для чтения)
Объявление
Swift
var presentationController: UIPresentationController? { get }
Objective C
@property(nonatomic, readonly) UIPresentationController *presentationController
Обсуждение
Если получателем или одним из его наследователей управляет контроллер представления, это свойство содержит контроллер представления владения. Это свойство
nil
если контроллером представления не управляет контроллер представления.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 8.0 и позже.
-
navigationController
СвойствоСамый близкий наследователь в иерархии контроллера представления, которая является контроллером навигации. (только для чтения)
Объявление
Swift
var navigationController: UINavigationController? { get }
Objective C
@property(nonatomic, readonly, retain) UINavigationController *navigationController
Обсуждение
Если получатель или один из его наследователей являются дочерним элементом контроллера навигации, это свойство содержит контроллер навигации владения. Это свойство
nil
если контроллер представления не встраивается в контроллере навигации.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 2.0 и позже.
См. также
-
splitViewController
СвойствоСамый близкий наследователь в иерархии контроллера представления, которая является контроллером представления разделения. (только для чтения)
Объявление
Swift
var splitViewController: UISplitViewController? { get }
Objective C
@property(nonatomic, readonly, retain) UISplitViewController *splitViewController
Обсуждение
Если получатель или один из его наследователей являются дочерним элементом контроллера представления разделения, это свойство содержит контроллер представления разделения владения. Это свойство
nil
если контроллер представления не встраивается в контроллере представления разделения.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 3.2 и позже.
См. также
-
tabBarController
СвойствоСамый близкий наследователь в иерархии контроллера представления, которая является контроллером панели вкладок. (только для чтения)
Объявление
Swift
var tabBarController: UITabBarController? { get }
Objective C
@property(nonatomic, readonly, retain) UITabBarController *tabBarController
Обсуждение
Если получатель или один из его наследователей являются дочерним элементом контроллера панели вкладок, это свойство содержит контроллер панели вкладок владения. Это свойство
nil
если контроллер представления не встраивается в контроллере панели вкладок.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 2.0 и позже.
См. также
-
extensionContext
СвойствоВозвращает дополнительный контекст контроллера представления. (только для чтения)
Объявление
Swift
var extensionContext: NSExtensionContext? { get }
Objective C
@property(nonatomic, readonly, retain) NSExtensionContext *extensionContext
Обсуждение
Контроллер представления может проверить это свойство, чтобы видеть, участвует ли это в дополнительном запросе. Если никакой дополнительный контекст не установлен для контроллера текущего представления, система идет по иерархии контроллера представления для нахождения родительского контроллера представления, имеющего нет
nil
extensionContext
значение.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 8.0 и позже.
-
Вызванный, когда системе нужен контроллер представления для использования для определения строки состояния скрытого/нескрытого состояния.
Объявление
Swift
func childViewControllerForStatusBarHidden() -> UIViewController?
Objective C
- (UIViewController *)childViewControllerForStatusBarHidden
Возвращаемое значение
Контроллер представления, строка состояния которого скрытое/нескрытое состояние должна использоваться. Возвращаемое значение по умолчанию
nil
.Обсуждение
Если Ваш контейнерный контроллер представления происходит, получает скрытое состояние строки состояния от одного из ее дочерних контроллеров представления, реализуйте этот метод для указания, какой дочерний элемент просматривают контроллер, Вы хотите управлять скрытым/нескрытым состоянием. Если Вы возвращаетесь
nil
или не переопределяйте этот метод, строка состояния скрытое/нескрытое состояние дляself
используется.При изменении возвращаемого значения от этого метода вызовите
setNeedsStatusBarAppearanceUpdate
метод.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 7.0 и позже.
-
Вызванный, когда системе нужен контроллер представления для использования для определения стиля строки состояния.
Объявление
Swift
func childViewControllerForStatusBarStyle() -> UIViewController?
Objective C
- (UIViewController *)childViewControllerForStatusBarStyle
Возвращаемое значение
Контроллер представления, стиль строки состояния которого должен использоваться.
Обсуждение
Если Ваш контейнерный контроллер представления получает свой стиль строки состояния из одного из его дочерних контроллеров представления, реализуйте этот метод и возврат тот дочерний контроллер представления. Если Вы возвращаетесь
nil
или не переопределяйте этот метод, стиль строки состояния дляself
используется. Если возвращаемое значение от этого метода изменения, вызовитеsetNeedsStatusBarAppearanceUpdate
метод.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 7.0 и позже.
-
Предпочтительная строка состояния разрабатывает для контроллера представления.
Объявление
Swift
func preferredStatusBarStyle() -> UIStatusBarStyle
Objective C
- (UIStatusBarStyle)preferredStatusBarStyle
Возвращаемое значение
A
UIStatusBarStyle
ключ, указывающий Вашу предпочтительную строку состояния, разрабатывает для контроллера представления.Обсуждение
Можно переопределить предпочтительный стиль строки состояния для контроллера представления путем реализации
childViewControllerForStatusBarStyle
метод.Если возвращаемое значение от этого метода изменения, вызовите
setNeedsStatusBarAppearanceUpdate
метод.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 7.0 и позже.
-
Указывает, предпочитает ли контроллер представления, чтобы строка состояния была скрыта или показана.
Объявление
Swift
func prefersStatusBarHidden() -> Bool
Objective C
- (BOOL)prefersStatusBarHidden
Возвращаемое значение
Булево значение
YES
true
указывает, что должна быть скрыта строка состояния. Значение по умолчаниюNO
false
.Обсуждение
При изменении возвращаемого значения для этого метода вызовите
setNeedsStatusBarAppearanceUpdate
метод.Чтобы указать, что дочерний контроллер представления должен управлять предпочтенной строкой состояния скрытое/нескрытое состояние, реализуйте
childViewControllerForStatusBarHidden
метод.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 7.0 и позже.
См. также
-
Указывает, принимает ли контроллер представления, представленный неполноэкранный, управление появления строки состояния от контроллера представления представления.
Объявление
Swift
var modalPresentationCapturesStatusBarAppearance: Bool
Objective C
@property(nonatomic, assign) BOOL modalPresentationCapturesStatusBarAppearance
Обсуждение
Значение по умолчанию этого свойства
NO
false
.Когда Вы представляете контроллер представления путем вызова
presentViewController:animated:completion:
метод, управление появлением строки состояния передается с представления на представленный контроллер представления только если представленный контроллер' smodalPresentationStyle
значениеUIModalPresentationFullScreen
. Путем установки этого свойства вYES
true
, Вы указываете, что представленный контроллер представления управляет появлением строки состояния, даже при том, что представленный неполноэкранный.Система игнорирует значение этого свойства для контроллера представления, представленного полноэкранный.
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 7.0 и позже.
-
Указывает стиль анимации для использования для сокрытия и показа строки состояния для контроллера представления.
Объявление
Swift
func preferredStatusBarUpdateAnimation() -> UIStatusBarAnimation
Objective C
- (UIStatusBarAnimation)preferredStatusBarUpdateAnimation
Возвращаемое значение
Стиль анимации строки состояния для использования; одна из констант от
UIStatusBarAnimation
перечисление. Значение по умолчаниюUIStatusBarAnimationFade
.Обсуждение
Это свойство играет роль только, когда Вы активно изменяетесь, строка состояния показывают/скрывают состояние путем изменения возвращаемого значения
prefersStatusBarHidden
метод.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 7.0 и позже.
-
Указывает к системе, что изменились атрибуты панели состояния контроллера представления.
Объявление
Swift
func setNeedsStatusBarAppearanceUpdate()
Objective C
- (void)setNeedsStatusBarAppearanceUpdate
Обсуждение
Вызовите этот метод, если строка состояния контроллера представления приписывает, такие как скрытое/нескрытое состояние или стиль, изменение. При вызове этого метода в блоке анимации изменения анимированы вместе с остальной частью блока анимации.
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 7.0 и позже.
-
navigationItem
СвойствоЭлемент навигации раньше представлял контроллер представления в родителе' s панель навигации. (только для чтения)
Объявление
Swift
var navigationItem: UINavigationItem { get }
Objective C
@property(nonatomic, readonly, retain) UINavigationItem *navigationItem
Обсуждение
Это - уникальный экземпляр
UINavigationItem
создаваемый для представления контроллера представления, когда это продвинуто на контроллер навигации. В первый раз к свойству получают доступ,UINavigationItem
объект создается. Если Вы не используете контроллер навигации для отображения контроллера представления, Поэтому Вы не должны получать доступ к этому свойству. Гарантировать элемент навигации сконфигурировано, можно или переопределить это свойство и добавить код для создания элементов кнопки панели, когда сначала полученный доступ или создают элементы в контроллере представления' s код инициализации.Избегите связывать создание элементов кнопки панели в Вашем элементе навигации к созданию Вашего контроллера представления' s представление. Элемент навигации контроллера представления может быть получен независимо от контроллера представления' s представление. Например, при продвижении двух контроллеров представления на штабель навигации, самый верхний контроллер представления становится видимым, но другой контроллер представления' s элемент навигации может быть получен для представления его кнопки «Назад».
Поведение по умолчанию состоит в том, чтобы создать элемент навигации, выводящий на экран контроллер представления' s заголовок.
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 2.0 и позже.
-
Возвращает элемент кнопки панели, переключающий его заголовок и ассоциированную страну между Редактированием и Сделанный.
Объявление
Swift
func editButtonItem() -> UIBarButtonItem
Objective C
- (UIBarButtonItem *)editButtonItem
Обсуждение
Если одно из пользовательских представлений
navigationItem
свойство установлено в возвращенный объект, связанная панель навигации выводит на экран кнопку Edit еслиediting
NO
false
и кнопка Done, еслиediting
YES
true
. Действие кнопки по умолчанию вызываетsetEditing:animated:
метод.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 2.0 и позже.
См. также
-
hidesBottomBarWhenPushed
СвойствоБулево значение, указывающее, скрыта ли панель инструментов внизу экрана, когда контроллер представления спешится к контроллеру навигации.
Объявление
Swift
var hidesBottomBarWhenPushed: Bool
Objective C
@property(nonatomic) BOOL hidesBottomBarWhenPushed
Обсуждение
Контроллер представления добавил, поскольку дочерний элемент контроллера навигации может вывести на экран дополнительную панель инструментов внизу экрана. Значение этого свойства на самом верхнем контроллере представления определяет, видима ли панель инструментов. Если значение этого свойства
YES
true
, панель инструментов скрыта. Если значение этого свойстваNO
false
, панель видима.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 2.0 и позже.
-
Устанавливает элементы панели инструментов, которые будут выведены на экран вместе с контроллером представления.
Объявление
Swift
func setToolbarItems(_
toolbarItems
: [AnyObject]?, animatedanimated
: Bool)Objective C
- (void)setToolbarItems:(NSArray *)
toolbarItems
animated:(BOOL)animated
Параметры
toolbarItems
Элементы панели инструментов для отображения на встроенной панели инструментов.
animated
Если
YES
true
, анимируйте изменение элементов на панели инструментов.Обсуждение
Контроллеры представления, которыми управляет контроллер навигации, могут использовать этот метод для указания элементов панели инструментов для контроллера навигации' s встроенная панель инструментов. Можно установить элементы панели инструментов для контроллера представления, прежде чем контроллер представления будет выведен на экран или после того, как это уже видимо.
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 3.0 и позже.
-
toolbarItems
СвойствоЭлементы панели инструментов связались с контроллером представления.
Объявление
Swift
var toolbarItems: [AnyObject]?
Objective C
@property(nonatomic, retain) NSArray *toolbarItems
Обсуждение
Это свойство содержит массив
UIBarButtonItem
объекты и работы в сочетании с aUINavigationController
объект. Если этот контроллер представления встраивается в интерфейсе контроллера навигации, и контроллер навигации выводит на экран панель инструментов, это свойство идентифицирует элементы для отображения на той панели инструментов.Можно установить значение этого свойства явно или использовать
setToolbarItems:animated:
метод для анимации изменений в видимом наборе элементов панели инструментов.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 3.0 и позже.
См. также
-
tabBarItem
СвойствоЭлемент панели вкладок, представляющий контроллер представления, когда добавлено к контроллеру панели вкладок.
Объявление
Swift
var tabBarItem: UITabBarItem!
Objective C
@property(nonatomic, retain) UITabBarItem *tabBarItem
Обсуждение
Это - уникальный экземпляр
UITabBarItem
создаваемый для представления контроллера представления, когда это - дочерний элемент контроллера панели вкладок. В первый раз к свойству получают доступ,UITabBarItem
создается. Если Вы не используете контроллер панели вкладок для отображения контроллера представления, Поэтому Вы не должны получать доступ к этому свойству. Гарантировать элемент панели вкладок сконфигурировано, можно или переопределить это свойство и добавить код для создания элементов кнопки панели, когда сначала полученный доступ или создают элементы в контроллере представления' s код инициализации.Значение по умолчанию является элементом панели вкладок, выводящим на экран контроллер представления' s заголовок.
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 2.0 и позже.
-
modalInPopover
СвойствоБулево значение, указывающее, должен ли контроллер представления быть представлен модально легкой сдобой.
Объявление
Swift
var modalInPopover: Bool
Objective C
@property(nonatomic, readwrite, getter=isModalInPopover) BOOL modalInPopover
Обсуждение
Значение по умолчанию этого свойства
NO
false
. Установка его кYES
true
заставляет контроллер легкой сдобы владения запрещать взаимодействия вне этого контроллера представления, в то время как он выведен на экран. Можно использовать это поведение гарантировать, что легкая сдоба не отклонена касаниями вне контроллера легкой сдобы.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 3.2 и позже.
-
- viewWillUnload
(iOS 6.0)Вызванный прежде, чем выпустить контроллер' s просматривают из памяти.
Оператор осуждения
Представления больше не очищаются при условиях низкой памяти и таким образом, никогда не вызывают этот метод.
Объявление
Objective C
- (void)viewWillUnload
Обсуждение
В iOS 5 и ранее, когда условие низкой памяти произошло и не был необходим контроллер текущего представления' s представления, система могла решить удалить те представления из памяти. Этот метод вызвали до выпуска фактических представлений, таким образом, Вы могли выполнить любую очистку до освобождаемого представления. Например, Вы могли использовать этот метод, чтобы удалить представления как наблюдатели уведомлений или записать состояние представлений, таким образом, это может быть восстановлено, когда перезагружаются представления.
В iOS 6 и позже, очищая ссылки на представления больше не необходимо. В результате любая другая очистка, связанная с теми представлениями, такими как удаление их как наблюдатели, также не необходима.
В то время, когда этот метод вызывают,
view
свойство все еще допустимо (оно еще не было установлено вnil
).Оператор импорта
Objective C
@import UIKit;
Доступность
Доступный в iOS 5.0 и позже.
Осуждаемый в iOS 6.0.
-
- viewDidUnload
(iOS 6.0)Вызванный, когда контроллер' s представление выпущен из памяти.
Оператор осуждения
Представления больше не очищаются при условиях низкой памяти и таким образом, никогда не вызывают этот метод.
Объявление
Objective C
- (void)viewDidUnload
Обсуждение
В iOS 5 и ранее, когда условие низкой памяти произошло и не был необходим контроллер текущего представления' s представления, система могла решить вызвать этот метод после того, как был выпущен контроллер представления' s представление. Этот метод был Вашим шансом выполнить любую заключительную очистку. Если бы Ваш контроллер представления сохранил отдельные ссылки на представление или его подпредставления, то Вы могли бы использовать этот метод для выпуска тех ссылок. Вы могли также использовать этот метод для удаления ссылок на любые объекты, которые Вы создали для поддержки представления, но которые больше не необходимы теперь, когда не стало представления. Вы не использовали бы этот метод для выпуска пользовательских данных или любой другой информации, которая не может быть легко воссоздана.
В iOS 6 и позже, очищая ссылки на представления и другие объекты в Вашем контроллере представления является ненужным.
В то время, когда этот метод вызывают,
view
свойствоnil
.Оператор импорта
Objective C
@import UIKit;
Доступность
Доступный в iOS 3.0 и позже.
Осуждаемый в iOS 6.0.
-
Размер контроллера представления' s просматривает, в то время как выведено на экран в легкой сдобе.
Оператор осуждения
Использовать
preferredContentSize
вместо этого.Объявление
Objective C
@property(nonatomic, readwrite) CGSize contentSizeForViewInPopover
Обсуждение
Это свойство содержит желаемый размер для контроллера представления, когда это выведено на экран в легкой сдобе. По умолчанию ширина установлена в 320 точек, и высота установлена в 1 100 точек. Можно изменить эти значения по мере необходимости.
Рекомендуемая ширина для легкой сдобы является 320 точками. В случае необходимости можно возвратить значение ширины, столь же большое как 600 точек, но так не рекомендуется выполнение.
Если контроллер легкой сдобы, выводящий на экран контроллер представления, устанавливает
popoverContentSize
свойство, контроллер легкой сдобы переопределяет набор значений в контроллере представления' scontentSizeForViewInPopover
свойство.Оператор импорта
Objective C
@import UIKit;
Доступность
Доступный в iOS 3.2 и позже.
Осуждаемый в iOS 7.0.
-
- presentModalViewController:animated:
(iOS 6.0)Представляет модальное представление, которым управляет данный контроллер представления пользователю.
Оператор осуждения
Использовать
presentViewController:animated:completion:
вместо этого.Объявление
Objective C
- (void)presentModalViewController:(UIViewController *)
modalViewController
animated:(BOOL)animated
Параметры
modalViewController
Контроллер представления, управляющий модальным представлением.
animated
Если
YES
true
, анимирует представление как его' s представленный; иначе, не делает.Обсуждение
На iPhone и устройствах iPod touch, представлении
modalViewController
всегда представляемый полный экран. На iPad представление зависит от значения вmodalPresentationStyle
свойство.Наборы
modalViewController
свойство к указанному контроллеру представления. Изменяет размеры его представления и присоединяет его к иерархии представления. Представление анимировано согласно стилю перехода, указанному вmodalTransitionStyle
свойство контроллера вmodalViewController
параметр.Оператор импорта
Objective C
@import UIKit;
Доступность
Доступный в iOS 2.0 и позже.
Осуждаемый в iOS 6.0.
См. также
-
- dismissModalViewControllerAnimated:
(iOS 6.0)Отклоняет контроллер представления, представленный получателем.
Оператор осуждения
Использовать
dismissViewControllerAnimated:completion:
вместо этого.Объявление
Objective C
- (void)dismissModalViewControllerAnimated:(BOOL)
animated
Параметры
animated
Если
YES
true
, этот метод анимирует представление как его' s отклоненный; иначе, это не делает. Стиль анимации определяется значением вmodalTransitionStyle
свойство отклоняемого контроллера представления.Обсуждение
Контроллер представления представления ответственен за отклонение контроллера представления, который это представило. При вызове этого метода на самом представленном контроллере представления, однако, это автоматически передает сообщение к контроллеру представления представления.
Если Вы представляете несколько контроллеров представления по очереди, и таким образом создаете штабель представленных контроллеров представления, вызывание этого метода на контроллере представления ниже в штабеле отклоняет свой непосредственный дочерний контроллер представления и все контроллеры представления выше того дочернего элемента на штабеле. Когда это происходит, только самое верхнее представление отклонено анимированным способом; любые промежуточные контроллеры представления просто удалены из штабеля. Самое верхнее представление отклонено с помощью его модального стиля перехода, который может отличаться от стилей, используемых другими контроллерами представления ниже в штабеле.
Если Вы хотите сохранить ссылку на получатель' s представленный контроллер представления, вложите значение
modalViewController
свойство прежде, чем вызвать этот метод.Оператор импорта
Objective C
@import UIKit;
Доступность
Доступный в iOS 2.0 и позже.
Осуждаемый в iOS 6.0.
-
Булево значение, указывающее, должно ли представление underlap строка состояния.
Оператор осуждения
Использовать
edgesForExtendedLayout
иextendedLayoutIncludesOpaqueBars
вместо этого.Объявление
Objective C
@property(nonatomic, assign) BOOL wantsFullScreenLayout
Обсуждение
Когда контроллер представления представляет свое представление, он обычно уменьшает то представление так, чтобы его кадр не перекрывал устройство’ s строка состояния. Установка этого свойства к
YES
true
заставляет контроллер представления измерять свое представление так, чтобы он заполнил весь экран, включая область под строкой состояния. (Конечно, для этого для случая окно, размещающее контроллер представления, должно самостоятельно быть измерено для заполнения всего экрана, включая область под строкой состояния.) Вы обычно устанавливали бы это свойство вYES
true
в случаях, где Вы имеете полупрозрачную строку состояния и хотите, чтобы Ваше представление' s содержание было видимо позади того представления.Если это свойство
YES
true
, представление не изменено в пути, который вызвал бы его к underlap панель вкладок, но изменен на underlap полупрозрачные панели инструментов. Независимо от значения этого свойства контроллеры навигации всегда позволяют представления underlap полупрозрачным панелям навигации.Значение по умолчанию этого свойства
NO
false
, который заставляет представление быть размеченным так, оно не делает underlap строка состояния.Оператор импорта
Objective C
@import UIKit;
Доступность
Доступный в iOS 3.0 и позже.
Осуждаемый в iOS 7.0.
-
Возвращает булево значение, указывающее, поддерживает ли контроллер представления указанную ориентацию.
Оператор осуждения
Переопределите
supportedInterfaceOrientations
иpreferredInterfaceOrientationForPresentation
методы вместо этого.Объявление
Objective C
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)
interfaceOrientation
Параметры
interfaceOrientation
Ориентация приложения' s пользовательский интерфейс после вращения. Возможные значения описаны в
UIInterfaceOrientation
.Возвращаемое значение
YES
true
если контроллер представления самовращается свое представление к указанной ориентации; иначе,NO
false
.Обсуждение
По умолчанию, этот метод возвраты
YES
true
дляUIInterfaceOrientationPortrait
ориентация только. Если Ваш контроллер представления поддерживает дополнительные ориентации, переопределите этот метод и возвратYES
true
для всех ориентаций это поддерживает.Ваша реализация этого метода должна просто возвратиться
YES
true
илиNO
false
на основе значения вinterfaceOrientation
параметр. Не пытайтесь получить значениеinterfaceOrientation
свойство или проверка значение ориентации, о котором сообщаютUIDevice
класс. Ваш контроллер представления или способен к поддержке данной ориентации, или это не.Оператор импорта
Objective C
@import UIKit;
Доступность
Доступный в iOS 2.0 и позже.
Осуждаемый в iOS 6.0.
См. также
-
rotatingHeaderView () - rotatingHeaderView
(iOS 8.0)Возвращает представление заголовка для перехода во время интерфейсного изменения ориентации.
Оператор осуждения
Представления заголовка теперь анимированы с остальной частью представления.
Возвращаемое значение
Представление заголовка или
nil
если нет никакого представления заголовка. Если контроллер текущего представления является контроллером панели вкладок, этот метод возвращает представление заголовка контроллера представления на выбранной вкладке. Если контроллер текущего представления является контроллером навигации, этот метод возвращает связанную панель навигации.Обсуждение
В большинстве случаев представление заголовка является панелью навигации, и представление нижнего колонтитула является панелью вкладок. Если Вы реализуете этот метод в пользовательском контроллере представления, имеющем его собственное представление заголовка, можно переопределить этот метод для возврата того представления заголовка. Представление, возвращенное из этого метода, должно уже быть частью Вашего контроллера представления' s иерархия представления.
Вы ответственны за корректировку размера и позиции возвращенного представления для соответствия целевой ориентации. Вы внесли бы такое изменение в своем контроллере представления' s методы вращения, такой как
willAnimateRotationToInterfaceOrientation:duration:
метод.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 2.0 и позже.
Осуждаемый в iOS 8.0.
См. также
-
rotatingFooterView () - rotatingFooterView
(iOS 8.0)Возвращает представление нижнего колонтитула для перехода во время интерфейсного изменения ориентации.
Оператор осуждения
Представления нижнего колонтитула теперь анимированы с остальной частью представления.
Возвращаемое значение
Представление нижнего колонтитула.
Если контроллер представления является контроллером панели вкладок, возвращает представление, содержащее панель вкладок. Если контроллер представления является контроллером навигации, возвращает контроллер вида сверху' s представление нижнего колонтитула. Возвраты реализации по умолчанию
nil
.Обсуждение
В большинстве случаев представление заголовка является панелью навигации, и представление нижнего колонтитула является панелью вкладок. Если Вы реализуете этот метод в пользовательском контроллере представления, имеющем его собственное представление нижнего колонтитула, можно переопределить этот метод для возврата того представления нижнего колонтитула. Представление, возвращенное из этого метода, должно уже быть частью Вашего контроллера представления' s иерархия представления.
Вы ответственны за корректировку размера и позиции возвращенного представления для соответствия целевой ориентации. Вы внесли бы такое изменение в своем контроллере представления' s методы вращения, такой как
willAnimateRotationToInterfaceOrientation:duration:
метод.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 2.0 и позже.
Осуждаемый в iOS 8.0.
См. также
-
Свойство Convenience, обеспечивающее текущую ориентацию интерфейса, значимого, только если контроллер представления поднимает полный экран. (только для чтения)
Оператор осуждения
Использовать
viewWillTransitionToSize:withTransitionCoordinator:
вносить основанные на интерфейсе корректировки.Объявление
Swift
var interfaceOrientation: UIInterfaceOrientation { get }
Objective C
@property(nonatomic, readonly) UIInterfaceOrientation interfaceOrientation
Обсуждение
Не используйте это свойство для информирования решений расположения.
Возможные значения для
interfaceOrientation
свойство описано вUIInterfaceOrientation
перечисление.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 2.0 и позже.
Осуждаемый в iOS 8.0.
-
willRotateToInterfaceOrientation (_: продолжительность:) - willRotateToInterfaceOrientation:duration:
(iOS 8.0)Отправленный в контроллер представления непосредственно перед тем, как пользовательский интерфейс начинает вращаться.
Оператор осуждения
Использовать
viewWillTransitionToSize:withTransitionCoordinator:
вносить основанные на интерфейсе корректировки.Объявление
Swift
func willRotateToInterfaceOrientation(_
toInterfaceOrientation
: UIInterfaceOrientation, durationduration
: NSTimeInterval)Objective C
- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)
toInterfaceOrientation
duration:(NSTimeInterval)duration
Параметры
toInterfaceOrientation
Новая ориентация для пользовательского интерфейса. Возможные значения описаны в
UIInterfaceOrientation
.duration
Продолжительность незаконченного вращения, измеренного в секундах.
Обсуждение
Подклассы могут переопределить этот метод для выполнения дополнительных действий сразу до вращения. Например, Вы могли бы использовать этот метод, чтобы отключить взаимодействия представления, остановить воспроизведение носителей, или временно выключить дорогое получение или живые обновления. Вы могли бы также использовать его для свопинга текущего представления для того, отражающего новую интерфейсную ориентацию. Когда этот метод вызывают,
interfaceOrientation
свойство все еще содержит представление' s исходная ориентация. Ваша реализация этого метода должна вызватьsuper
в некоторый момент во время его выполнения.Этот метод вызывают независимо от того, выполняет ли Ваш код или двухступенчатые вращения с одним шагом.
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 2.0 и позже.
Осуждаемый в iOS 8.0.
-
willAnimateRotationToInterfaceOrientation (_: продолжительность:) - willAnimateRotationToInterfaceOrientation:duration:
(iOS 8.0)Отправленный в контроллер представления прежде, чем выполнить вращение пользовательского интерфейса с одним шагом.
Оператор осуждения
Использовать
viewWillTransitionToSize:withTransitionCoordinator:
вносить основанные на интерфейсе корректировки.Объявление
Swift
func willAnimateRotationToInterfaceOrientation(_
interfaceOrientation
: UIInterfaceOrientation, durationduration
: NSTimeInterval)Objective C
- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)
interfaceOrientation
duration:(NSTimeInterval)duration
Параметры
interfaceOrientation
Новая ориентация для пользовательского интерфейса. Возможные значения описаны в
UIInterfaceOrientation
.duration
Продолжительность незаконченного вращения, измеренного в секундах.
Обсуждение
Этот метод вызывают из блока анимации, используемого для вращения представления. Можно переопределить этот метод и использовать его для конфигурирования дополнительных анимаций, которые должны произойти во время вращения представления. Например, Вы могли использовать его, чтобы скорректировать уровень изменения масштаба Вашего содержания, сменить положение скроллера или изменить другие animatable свойства Вашего представления.
К тому времени, когда этот метод вызывают,
interfaceOrientation
свойство уже установлено в новую ориентацию, и границы представления были изменены. Таким образом можно выполнить любое дополнительное расположение, требуемое представлениями в этом методе.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 3.0 и позже.
Осуждаемый в iOS 8.0.
-
Отправленный в контроллер представления после того, как пользовательский интерфейс вращается.
Оператор осуждения
Использовать
viewWillTransitionToSize:withTransitionCoordinator:
вносить основанные на интерфейсе корректировки.Объявление
Swift
func didRotateFromInterfaceOrientation(_
fromInterfaceOrientation
: UIInterfaceOrientation)Objective C
- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)
fromInterfaceOrientation
Параметры
fromInterfaceOrientation
Старая ориентация пользовательского интерфейса. Для возможных значений посмотрите
UIInterfaceOrientation
.Обсуждение
Подклассы могут переопределить этот метод для выполнения дополнительных действий сразу после вращения. Например, Вы могли бы использовать этот метод, чтобы повторно включить взаимодействия представления, запустить воспроизведение носителей снова или включить дорогое получение или живые обновления. К тому времени, когда этот метод вызывают,
interfaceOrientation
свойство уже установлено в новую ориентацию. Ваша реализация этого метода должна вызватьsuper
в некоторый момент во время его выполнения.Этот метод вызывают независимо от того, выполняет ли Ваш код или двухступенчатые вращения с одним шагом.
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 2.0 и позже.
Осуждаемый в iOS 8.0.
-
Отправленный в контроллер представления прежде, чем выполнить первую половину вращения пользовательского интерфейса.
Оператор осуждения
Использовать
viewWillTransitionToSize:withTransitionCoordinator:
вносить основанные на интерфейсе корректировки.Объявление
Objective C
- (void)willAnimateFirstHalfOfRotationToInterfaceOrientation:(UIInterfaceOrientation)
toInterfaceOrientation
duration:(NSTimeInterval)duration
Параметры
toInterfaceOrientation
Состояние приложения' s ориентация пользовательского интерфейса перед вращением. Возможные значения описаны в
UIInterfaceOrientation
.duration
Продолжительность первой половины незаконченного вращения, измеренного в секундах.
Обсуждение
Реализация по умолчанию этого метода ничего не делает.
Этот метод вызывают из блока анимации, используемого, чтобы повернуть представление и выдвинуть представления нижнего колонтитула и заголовок. Можно переопределить этот метод и использовать его для конфигурирования дополнительных анимаций, которые должны произойти во время первой половины вращения представления. Например, Вы могли использовать его, чтобы скорректировать уровень изменения масштаба Вашего содержания, сменить положение скроллера или изменить другие animatable свойства Вашего представления.
В то время, когда этот метод вызывают,
interfaceOrientation
свойство все еще установлено в старую ориентацию.Оператор импорта
Objective C
@import UIKit;
Доступность
Доступный в iOS 2.0 и позже.
Осуждаемый в iOS 5.0.
-
Отправленный в контроллер представления после завершения первой половины вращения пользовательского интерфейса.
Оператор осуждения
Использовать
viewWillTransitionToSize:withTransitionCoordinator:
вносить основанные на интерфейсе корректировки.Объявление
Objective C
- (void)didAnimateFirstHalfOfRotationToInterfaceOrientation:(UIInterfaceOrientation)
toInterfaceOrientation
Параметры
toInterfaceOrientation
Состояние приложения' s ориентация пользовательского интерфейса после вращения. Возможные значения описаны в
UIInterfaceOrientation
перечисление.Обсуждение
Этот метод вызывают во время двухступенчатых анимаций вращения только. Подклассы могут переопределить этот метод и использовать его для корректировки их представлений между первой и второй половиной анимаций. В то время как любой заголовок или представления нижнего колонтитула являются внеэкранными, этот метод вызывают за пределами любых транзакций анимации и.
Оператор импорта
Objective C
@import UIKit;
Доступность
Доступный в iOS 2.0 и позже.
Осуждаемый в iOS 5.0.
-
Отправленный в контроллер представления, прежде чем вторая половина пользовательского интерфейса вращается.
Оператор осуждения
Использовать
viewWillTransitionToSize:withTransitionCoordinator:
вносить основанные на интерфейсе корректировки.Объявление
Objective C
- (void)willAnimateSecondHalfOfRotationFromInterfaceOrientation:(UIInterfaceOrientation)
fromInterfaceOrientation
duration:(NSTimeInterval)duration
Параметры
fromInterfaceOrientation
Состояние приложения' s ориентация пользовательского интерфейса перед вращением. Возможные значения описаны в
UIInterfaceOrientation
перечисление.duration
Продолжительность второй половины незаконченного вращения, измеренного в секундах.
Обсуждение
Реализация по умолчанию этого метода ничего не делает.
Этот метод вызывают из блока анимации, используемого, чтобы закончить вращение представления и двигать заголовок и представления нижнего колонтитула назад в позицию. Можно переопределить этот метод и использовать его для конфигурирования дополнительных анимаций, которые должны произойти во время второй половины вращения представления. Например, Вы могли использовать его, чтобы скорректировать уровень изменения масштаба Вашего содержания, сменить положение скроллера или изменить другие animatable свойства Вашего представления.
В то время, когда этот метод вызывается,
interfaceOrientation
свойство установлено в новую ориентацию.Оператор импорта
Objective C
@import UIKit;
Доступность
Доступный в iOS 2.0 и позже.
Осуждаемый в iOS 5.0.
-
Поисковый контроллер дисплея связался с контроллером представления. (только для чтения)
Оператор осуждения
Используйте
UISearchController
класс для интеграции результатов поиска.Объявление
Swift
var searchDisplayController: UISearchDisplayController? { get }
Objective C
@property(nonatomic, readonly, retain) UISearchDisplayController *searchDisplayController
Обсуждение
Это свойство отражает значение
searchDisplayController
выход, который Вы устанавливаете в Интерфейсном Разработчике. При создании поискового контроллера дисплея программно это свойство установлено автоматически поисковым контроллером дисплея, когда это инициализируется.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 3.0 и позже.
Осуждаемый в iOS 8.0.
-
Контроллер для активного представленного представления' т.е. представление, временно выведенное на экран поверх представления, которым управляет получатель. (только для чтения)
Оператор осуждения
Использовать
presentedViewController
вместо этого.Объявление
Objective C
@property(nonatomic, readonly) UIViewController *modalViewController
Оператор импорта
Objective C
@import UIKit;
Доступность
Доступный в iOS 2.0 и позже.
Осуждаемый в iOS 6.0.
-
Возвращает булево значение, указывающее, передаются ли методы вращения дочерним контроллерам представления.
Оператор осуждения
Вручную переведите вызовы к
viewWillTransitionToSize:withTransitionCoordinator:
метод по мере необходимости.Объявление
Swift
func shouldAutomaticallyForwardRotationMethods() -> Bool
Objective C
- (BOOL)shouldAutomaticallyForwardRotationMethods
Возвращаемое значение
YES
true
если методы вращения передаются илиNO
false
если они не.Обсуждение
Этот метод вызывают, чтобы определить, передать ли автоматически связанные с вращением обратные вызовы включения дочерним контроллерам представления.
Возвраты реализации по умолчанию
YES
true
. ПодклассыUIViewController
класс, которые реализуют логику включения, может переопределить этот метод, чтобы управлять, как передаются эти методы. Если Вы переопределяете этот метод и возвратNO
false
, Вы ответственны за передачу следующих методов к дочерним контроллерам представления в подходящее время:Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 6.0 и позже.
Осуждаемый в iOS 8.0.
-
Возвращает булево значение, указывающее, передаются ли появление и методы вращения.
Оператор осуждения
Вручную переведите вызовы к
viewWillTransitionToSize:withTransitionCoordinator:
метод по мере необходимости.Объявление
Objective C
- (BOOL)automaticallyForwardAppearanceAndRotationMethodsToChildViewControllers
Возвращаемое значение
Булево значение, указывающее, передаются ли появление и методы вращения.
Обсуждение
Этот метод вызывают, чтобы определить, передать ли автоматически обратные вызовы включения дочерним контроллерам представления.
Возвраты реализации по умолчанию
YES
true
. ПодклассыUIViewController
класс, которые реализуют логику включения, может переопределить этот метод, чтобы управлять, как передаются эти методы. Если Вы переопределяете этот метод и возвратNO
false
, Вы ответственны за передачу следующих методов к дочерним контроллерам представления в подходящее время:Оператор импорта
Objective C
@import UIKit;
Доступность
Доступный в iOS 5.0 и позже.
Осуждаемый в iOS 6.0.
-
Стили перехода, доступные при представлении контроллеров представления.
Объявление
Swift
enum UIModalTransitionStyle : Int { case CoverVertical case FlipHorizontal case CrossDissolve case PartialCurl }
Objective C
typedef enum { UIModalTransitionStyleCoverVertical = 0, UIModalTransitionStyleFlipHorizontal, UIModalTransitionStyleCrossDissolve, UIModalTransitionStylePartialCurl, } UIModalTransitionStyle;
Константы
-
CoverVertical
UIModalTransitionStyleCoverVertical
Когда контроллер представления представлен, его слайды представления от нижней части экрана. На увольнении отступают слайды представления. Это - стиль перехода по умолчанию.
Доступный в iOS 3.0 и позже.
-
FlipHorizontal
UIModalTransitionStyleFlipHorizontal
Когда контроллер представления представлен, текущее представление инициирует горизонтальное 3D зеркальное отражение справа налево, приводя к раскрытию нового представления, как будто это было в конце предыдущего представления. На увольнении зеркальное отражение происходит слева направо, возвращаясь к исходному представлению.
Доступный в iOS 3.0 и позже.
-
CrossDissolve
UIModalTransitionStyleCrossDissolve
Когда контроллер представления представлен, текущее представление постепенно исчезает, в то время как новое представление постепенно появляется одновременно. На увольнении выгорает подобный тип, используется для возврата к исходному представлению.
Доступный в iOS 3.0 и позже.
-
PartialCurl
UIModalTransitionStylePartialCurl
Когда контроллер представления представлен, один угол текущего представления сворачивается для раскрытия представленного представления внизу. На увольнении свернутая страница разворачивает себя назад поверх представленного представления. Представленному использованию представления этого перехода самостоятельно препятствуют представить любые дополнительные представления.
Этот стиль перехода поддерживается, только если родительский контроллер представления представляет полноэкранное представление, и Вы используете
UIModalPresentationFullScreen
модальный стиль презентации. Попытка использовать фактор другой формы для родительского представления или различного стиля презентации инициировала исключение.Доступный в iOS 3.2 и позже.
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 3.0 и позже.
-
-
Модальные стили презентации, доступные при представлении контроллеров представления.
Объявление
Swift
enum UIModalPresentationStyle : Int { case FullScreen case PageSheet case FormSheet case CurrentContext case Custom case OverFullScreen case OverCurrentContext case Popover case None }
Objective C
typedef enum { UIModalPresentationFullScreen = 0, UIModalPresentationPageSheet, UIModalPresentationFormSheet, UIModalPresentationCurrentContext, UIModalPresentationCustom, UIModalPresentationOverFullScreen, UIModalPresentationOverCurrentContext, UIModalPresentationPopover, UIModalPresentationNone = -1 } UIModalPresentationStyle;
Константы
-
FullScreen
UIModalPresentationFullScreen
Стиль презентации, в котором представленное представление покрывает экран.
Доступный в iOS 3.2 и позже.
-
PageSheet
UIModalPresentationPageSheet
В горизонтально регулярной среде, стиль презентации, частично покрывающий базовое содержание. Представленное представление' s ширина установлено в ширину экрана в портретной ориентации и, высота установлена в высоту экрана. Любые открытые области недоступны, чтобы препятствовать тому, чтобы пользователь взаимодействовал с ними. (В портретных ориентациях эта опция является по существу тем же как
UIModalPresentationFullScreen
.)В горизонтально компактной среде эта опция ведет себя то же как
UIModalPresentationFullScreen
.Доступный в iOS 3.2 и позже.
-
FormSheet
UIModalPresentationFormSheet
В горизонтально регулярной среде, стиль презентации, выводящий на экран содержание, центрируемое на экране. Ширина и высота предметной области меньше, чем размер экрана и потускневшее представление помещаются под содержанием. Если устройство находится в альбомной ориентации, и клавиатура видима, позиция представления корректируется вверх так, чтобы представление осталось видимым. Все открытые области недоступны, чтобы препятствовать тому, чтобы пользователь взаимодействовал с ними.
В горизонтально компактной среде эта опция ведет себя то же как
UIModalPresentationFullScreen
.Доступный в iOS 3.2 и позже.
-
CurrentContext
UIModalPresentationCurrentContext
Стиль презентации, где содержание выведено на экран по только содержанию контроллера представления представления.
При представлении контроллера представления в легкой сдобе поддерживается этот стиль презентации, только если стиль перехода
UIModalTransitionStyleCoverVertical
. Попытка использовать различный стиль перехода инициировала исключение. Однако можно использовать другие стили перехода (кроме частичного вихревого перехода), если родительский контроллер представления не находится в легкой сдобе.Доступный в iOS 3.2 и позже.
-
Custom
UIModalPresentationCustom
Пользовательский стиль презентации представления, которым управляют пользовательский контроллер представления и один или несколько пользовательских объектов Animator. Все эти объекты предоставлены переходящим делегатом контроллера представленного представления, который является объектом, соответствующим
UIViewControllerTransitioningDelegate
протокол. Прежде, чем представить контроллер представления с помощью этого стиля, набор контроллер представленияtransitioningDelegate
свойство Вашему пользовательскому переходящему делегату.Доступный в iOS 7.0 и позже.
-
OverFullScreen
UIModalPresentationOverFullScreen
Стиль презентации представления, в котором представленное представление покрывает экран. Когда представление заканчивается, представления ниже представленного содержания не удалены из иерархии представления. Таким образом, если представленный контроллер представления не заполняет экран непрозрачным содержанием, базовое содержание показывает через.
Доступный в iOS 8.0 и позже.
-
OverCurrentContext
UIModalPresentationOverCurrentContext
Стиль презентации, где содержание выведено на экран по только родительскому содержанию контроллера представления. Когда представление заканчивается, представления ниже представленного содержания не удалены из иерархии представления. Таким образом, если представленный контроллер представления не заполняет экран непрозрачным содержанием, базовое содержание показывает через.
При представлении контроллера представления в легкой сдобе поддерживается этот стиль презентации, только если стиль перехода
UIModalTransitionStyleCoverVertical
. Попытка использовать различный стиль перехода инициировала исключение. Однако можно использовать другие стили перехода (кроме частичного вихревого перехода), если родительский контроллер представления не находится в легкой сдобе.Доступный в iOS 8.0 и позже.
-
Popover
UIModalPresentationPopover
В горизонтально регулярной среде, стиль презентации, где содержание выведено на экран в представлении легкой сдобы. Фоновое содержание недоступно и касается вне причины легкой сдобы легкой сдобы, которая будет отклонена. Если Вы не хотите, чтобы касания отклонили легкую сдобу, можно присвоить одно или более представлений
passthroughViews
свойство связанногоUIPopoverPresentationController
объект, который можно получить отpopoverPresentationController
свойство.В горизонтально компактной среде эта опция ведет себя то же как
UIModalPresentationFullScreen
.Доступный в iOS 8.0 и позже.
-
None
UIModalPresentationNone
Немодальное представление представления или увольнение.
Доступный в iOS 7.0 и позже.
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 3.2 и позже.
-
-
Исключения повышены контроллерами представления.
Объявление
Swift
let UIViewControllerHierarchyInconsistencyException: String
Objective C
NSString *const UIViewControllerHierarchyInconsistencyException
Константы
-
UIViewControllerHierarchyInconsistencyException
Повышенный, если иерархия контроллера представления противоречива с иерархией представления.
Когда контроллер представления' s представление добавляется к иерархии представления, система идет по иерархии представления для нахождения первого родительского представления, имеющего контроллер представления. Тот контроллер представления должен быть родителем контроллера представления, представление которого добавляется. Иначе, это исключение повышено. Когда контроллер представления добавляется как дочерний элемент путем вызова, эта проверка непротиворечивости также выполняется
addChildViewController:
метод.Это также позволяется для контроллера представления, не имеющего никакого родителя для добавления его представления к иерархии представления. Это обычно не рекомендуется, но полезно в некоторых особых случаях.
Доступный в iOS 5.0 и позже.
-
-
Уведомления, отправленные контроллерами представления.
Объявление
Swift
let UIViewControllerShowDetailTargetDidChangeNotification: String
Objective C
NSString *const UIViewControllerShowDetailTargetDidChangeNotification
Константы
-
UIViewControllerShowDetailTargetDidChangeNotification
Когда контроллер представления разделения расширен или разрушился, это уведомление отправляется.
Когда контроллер представления использует
showViewController:sender:
илиshowDetailViewController:sender:
, когда контроллер представления разделения выше в иерархии представления изменился, это, возможно, должно знать.UIViewControllerShowDetailTargetDidChangeNotification
когда контроллер представления разделения расширяется или разрушается, отправляется. Объект этого уведомления является контроллером представления, вызвавшим изменение.Доступный в iOS 8.0 и позже.
-