UICoordinateSpace
Наследование
Не применимый
Оператор импорта
Swift
import UIKit
Objective C
@import UIKit;
Доступность
Доступный в iOS 8.0 и позже.
UICoordinateSpace
протокол определяет методы для преобразования между различными системами отсчета на экране. UIView
и UIScreen
классы принимают этот протокол так, чтобы можно было преобразовать легко между большинством координатных пространств в приложении. UIScreen
класс также предоставляет координатному пространству фиксированную систему отсчета для задач, требующих его. Можно принять этот протокол в собственных классах для преобразования между пользовательскими координатными пространствами и координатными пространствами представлений и экранов приложения.
До iOS 8 координаты окна и координаты экрана были фиксированы и всегда указывались относительно экрана устройства в портретной ориентации. Даже когда пользователь повернул устройство, координаты окна и координаты экрана никогда не изменялись, потому что никогда не вращались координата окна и пробелы координаты экрана. Вместо этого представления установили в тех окнах, повернутых в зависимости от того, поддерживал ли их контроллер представления владения данную ориентацию устройства. Поскольку координаты окна и координаты экрана никогда не изменялись, приложения всегда имели фиксированную систему отсчета для координат.
В iOS 8 и позже, окно и пробелы координаты экрана больше не фиксируются к определенной ориентации устройства. Вместо этого координаты окна и координаты экрана изменяются для соответствия интерфейсной ориентации приложения, обычно (но не всегда) соответствующей текущую ориентацию устройства. (Контроллеры представления все еще определяют который интерфейсные ориентации поддержки приложений.) Вращение окна и экрана упрощает взаимодействия между представлениями, окнами и экраном. В случаях, где Вам все еще нужна фиксированная система отсчета — например, потому что необходимо сохранить расположение сенсорного события или экранного элемента постоянно — можно использовать методы этого протокола для преобразования координатных значений в фиксированное координатное пространство, предоставленное UIScreen
объект.
Для преобразования точки от текущего координатного пространства представления до фиксированного координатного пространства экрана используйте код, подобный следующему:
[myView convertPoint:point toCoordinateSpace:myView.window.screen.fixedCoordinateSpace];
При реализации методов этого протокола необходимо преобразовать координатные значения в или от пространства локальной координаты. При выполнении таких преобразований используйте пространство координаты экрана как промежуточное координатное пространство, преобразовав в координаты экрана прежде, чем преобразовать в целевое координатное пространство. Например, при преобразовании от пространства локальной координаты до координатного пространства другого представления, преобразуйте локальные координаты в координату экрана, располагают с интервалами сначала и затем преобразовывают те координаты экрана в координатное пространство представления.
-
bounds
СвойствоПрямоугольник границ, описывающий расположение элемента и размер в его собственной системе координат. (требуемый) (только для чтения)
Объявление
Swift
var bounds: CGRect { get }
Objective C
@property(readonly, nonatomic) CGRect bounds
Обсуждение
Прямоугольник в этом свойстве всегда соответствует интерфейсную ориентацию приложения. Для приложений, поддерживающих все интерфейсные ориентации, может измениться значение в этом свойстве, когда пользователь поворачивает устройство между портретом и альбомными режимами.
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 8.0 и позже.
-
Преобразовывает точку из координатного пространства текущего объекта к указанному координатному пространству. (требуемый)
Объявление
Swift
func convertPoint(_
point
: CGPoint, toCoordinateSpacecoordinateSpace
: UICoordinateSpace) -> CGPointПараметры
point
Точка указана в системе координат текущего объекта.
coordinateSpace
Координатное пространство то, в который
point
должен быть преобразован.Возвращаемое значение
Точка указана в целевом координатном пространстве.
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 8.0 и позже.
-
Преобразовывает точку от указанного координатного пространства до координатного пространства текущего объекта. (требуемый)
Объявление
Swift
func convertPoint(_
point
: CGPoint, fromCoordinateSpacecoordinateSpace
: UICoordinateSpace) -> CGPointПараметры
point
Точка в указанном координатном пространстве.
coordinateSpace
Координатное пространство то, в который
point
указан.Возвращаемое значение
Точка указана в координатном пространстве текущего объекта.
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 8.0 и позже.
-
Преобразовывает прямоугольник из координатного пространства текущего объекта к указанному координатному пространству. (требуемый)
Объявление
Swift
func convertRect(_
rect
: CGRect, toCoordinateSpacecoordinateSpace
: UICoordinateSpace) -> CGRectПараметры
rect
Прямоугольник указан в системе координат текущего объекта.
coordinateSpace
Координатное пространство то, в который
rect
должен быть преобразован.Возвращаемое значение
Прямоугольник указан в целевом координатном пространстве.
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 8.0 и позже.
-
Преобразовывает прямоугольник от указанного координатного пространства до координатного пространства текущего объекта. (требуемый)
Объявление
Swift
func convertRect(_
rect
: CGRect, fromCoordinateSpacecoordinateSpace
: UICoordinateSpace) -> CGRectПараметры
rect
Прямоугольник в указанном координатном пространстве.
coordinateSpace
Координатное пространство то, в который
rect
указан.Возвращаемое значение
Прямоугольник указан в координатном пространстве текущего объекта.
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 8.0 и позже.