UITraitCollection
Соответствует
-
AnyObject
-
CVarArgType
-
Сопоставимый
-
Hashable
-
NSCoding
-
NSCopying
-
NSObjectProtocol
-
NSSecureCoding
-
Печатаемый
-
NSCopying
-
NSObject
-
NSSecureCoding
Оператор импорта
Swift
import UIKit
Objective C
@import UIKit;
Доступность
Доступный в iOS 8.0 и позже.
Набор черты описывает среду интерфейса iOS для Вашего приложения, включая черты, такие как горизонтальный и вертикальный класс размера, масштаб дисплея и идиома пользовательского интерфейса. Для создания адаптивного интерфейса запишите код для корректировки расположения приложения согласно изменениям в этих чертах.
Среда черты iOS представлена хотя traitCollection
свойство UITraitEnvironment
протокол. Этот протокол принят следующими классами: UIScreen
, UIWindow
, UIViewController
, UIPresentationController
, и UIView
. Вы получаете доступ к определенным значениям черты с помощью UITraitCollection
horizontalSizeClass
, verticalSizeClass
, displayScale
, и userInterfaceIdiom
свойства. Значения, что явно выраженная идиома и черты размера определяются в UIUserInterfaceIdiom
и UIUserInterfaceSizeClass
перечисления; значение для черты масштаба дисплея выражено как число с плавающей точкой.
Для создания контроллеров представления и представлений быстро реагирующими к изменениям в среде интерфейса iOS переопределите traitCollectionDidChange:
метод из протокола среды черты. Для настройки анимаций контроллера представления в ответ на интерфейсные изменения среды переопределите willTransitionToTraitCollection:withTransitionCoordinator:
метод UIContentContainer
протокол.
Можно создать автономные наборы черты для помощи в соответствии против определенных сред. UITraitCollection
класс включает четырех специализированных конструкторов, а также конструктора, позволяющего Вам объединить массив наборов черты, traitCollectionWithTraitsFromCollections:
.
Одно важное использование автономных наборов черты должно включить условное использование изображений на основе текущей среды интерфейса iOS. Можно связать набор черты с a UIImage
экземпляр посредством a UIImageAsset
экземпляр, как описано в разделе обзора Ссылки класса UIImageAsset. Для получения информации о конфигурировании каталогов актива графически из XCode IDE, посмотрите Справку Каталога Актива.
Можно использовать автономный набор черты для включения представления разделения на два столбца в альбомной ориентации на iPhone. Посмотрите setOverrideTraitCollection:forChildViewController:
метод UIViewController
класс.
Автономный набор черты также полезен в настройке появления представления, посредством appearanceForTraitCollection:
метод протокола, как описано в Ссылке на протокол UIAppearance.
Для представления 2014 года WWDC создания адаптивных интерфейсов в iOS см. Создающие Адаптивные Приложения с UIKit.
-
Возвращает новый набор черты, состоящий из черт, объединенных от указанного массива наборов черты.
Объявление
Swift
init(traitsFromCollections
traitCollections
: [AnyObject]) -> UITraitCollectionObjective C
+ (UITraitCollection *)traitCollectionWithTraitsFromCollections:(NSArray *)
traitCollections
Параметры
traitCollections
Массив
UITraitCollection
объекты.Возвращаемое значение
Новый набор черты, состоящий из черт, объединился от указанного
traitCollections
массив.Обсуждение
Этот метод берет массив одного или более наборов черты и объединяет их для создания нового набора черты. Если массив содержит больше чем один элемент, индексированный самым высоким образом элемент, содержащий данную черту, используется для той черты. Например, следующий фрагмент кода создает набор черты с компактным горизонтальным классом размера, потому что второй элемент в массиве переопределяет первое для той черты:
UITraitCollection *newHorizontalSizeClass1 = [UITraitCollection traitCollectionWithHorizontalSizeClass: UIUserInterfaceSizeClassRegular];
UITraitCollection *newHorizontalSizeClass2 = [UITraitCollection traitCollectionWithHorizontalSizeClass: UIUserInterfaceSizeClassCompact];
NSArray *traitArray = [NSArray arrayWithObjects: newHorizontalSizeClass1, newHorizontalSizeClass2, nil];
UITraitCollection *combinedTraits = [UITraitCollection traitCollectionWithTraitsFromCollections: traitArray];
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 8.0 и позже.
-
Возвращает новый набор черты, содержащий только указанный масштаб дисплея.
Объявление
Swift
init(displayScale
scale
: CGFloat) -> UITraitCollectionObjective C
+ (UITraitCollection *)traitCollectionWithDisplayScale:(CGFloat)
scale
Параметры
scale
Масштаб дисплея для нового набора черты. Использовать
1.0
для указания несетчатки выводят на экран масштаб и значение2.0
или больше указать Сетчатку выводят на экран масштаб.Возвращаемое значение
Новый набор черты, содержащий только указанный дисплей, масштабирует черту.
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 8.0 и позже.
-
Возвращает новый набор черты, содержащий только указанную интерфейсную идиому.
Объявление
Swift
init(userInterfaceIdiom
idiom
: UIUserInterfaceIdiom) -> UITraitCollectionObjective C
+ (UITraitCollection *)traitCollectionWithUserInterfaceIdiom:(UIUserInterfaceIdiom)
idiom
Параметры
idiom
A
UIUserInterfaceIdiom
значение, указывающее идиому пользовательского интерфейса для нового набора черты.Возвращаемое значение
Новый набор черты, содержащий только указанную черту идиомы пользовательского интерфейса.
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 8.0 и позже.
-
Возвращает новый набор черты, содержащий только указанный горизонтальный класс размера.
Объявление
Swift
init(horizontalSizeClass
horizontalSizeClass
: UIUserInterfaceSizeClass) -> UITraitCollectionObjective C
+ (UITraitCollection *)traitCollectionWithHorizontalSizeClass:(UIUserInterfaceSizeClass)
horizontalSizeClass
Параметры
horizontalSizeClass
A
UIUserInterfaceSizeClass
значение, указывающее горизонтальный класс размера для нового набора черты.Возвращаемое значение
Новый набор черты, содержащий только указанную горизонтальную черту класса размера.
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 8.0 и позже.
-
Возвращает новый набор черты, содержащий только указанный вертикальный класс размера.
Объявление
Swift
init(verticalSizeClass
verticalSizeClass
: UIUserInterfaceSizeClass) -> UITraitCollectionObjective C
+ (UITraitCollection *)traitCollectionWithVerticalSizeClass:(UIUserInterfaceSizeClass)
verticalSizeClass
Параметры
verticalSizeClass
A
UIUserInterfaceSizeClass
значение, указывающее вертикальный класс размера для нового набора черты.Возвращаемое значение
Новый набор черты, содержащий только указанную вертикальную черту класса размера.
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 8.0 и позже.
-
displayScale
СвойствоМасштаб дисплея набора черты. (только для чтения)
Объявление
Swift
var displayScale: CGFloat { get }
Objective C
@property(nonatomic, readonly) CGFloat displayScale
Обсуждение
Значение
1.0
указывает дисплей несетчатки и значение2.0
указывает дисплей Сетчатки. Масштаб дисплея по умолчанию для набора черты0.0
(указание неуказанного).Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 8.0 и позже.
-
horizontalSizeClass
СвойствоГоризонтальный класс размера набора черты. (только для чтения)
Объявление
Swift
var horizontalSizeClass: UIUserInterfaceSizeClass { get }
Objective C
@property(nonatomic, readonly) UIUserInterfaceSizeClass horizontalSizeClass
Обсуждение
Горизонтальный класс размера по умолчанию для набора черты
UIUserInterfaceSizeClassUnspecified
.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 8.0 и позже.
-
userInterfaceIdiom
СвойствоИдиома пользовательского интерфейса набора черты. (только для чтения)
Объявление
Swift
var userInterfaceIdiom: UIUserInterfaceIdiom { get }
Objective C
@property(nonatomic, readonly) UIUserInterfaceIdiom userInterfaceIdiom
Обсуждение
Идиома пользовательского интерфейса по умолчанию для набора черты
UIUserInterfaceIdiomUnspecified
.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 8.0 и позже.
-
verticalSizeClass
СвойствоВертикальный класс размера набора черты. (только для чтения)
Объявление
Swift
var verticalSizeClass: UIUserInterfaceSizeClass { get }
Objective C
@property(nonatomic, readonly) UIUserInterfaceSizeClass verticalSizeClass
Обсуждение
Вертикальный класс размера по умолчанию для набора черты
UIUserInterfaceSizeClassUnspecified
.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 8.0 и позже.
-
Возвращает булево значение, указывающее, содержит ли набор черты всю другую черту значения набора.
Объявление
Swift
func containsTraitsInCollection(_
trait
: UITraitCollection!) -> BoolObjective C
- (BOOL)containsTraitsInCollection:(UITraitCollection *)
trait
Параметры
trait
Набор черты, который Вы хотите сравнить с набором черты получателя.
Возвращаемое значение
Этот метод возвраты
YES
true
если получатель содержит все значения черты в наборе черты, переданном вtrait
параметр и возвратыNO
false
иначе.Обсуждение
Используйте этот метод для сравнения двух автономных наборов черты, или сравнить iOS соединяют интерфейсом с набором черты среды к автономному набору черты.
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 8.0 и позже.