UICordinateSpace


継承:なし

従属:NSObject(Protocol)

フレームワーク: iOS 8.0 以降の UIKit。関連情報...


概観


UICoordinateSpace プロトコルは、スクリーン上の基準の異なるフレーム間で変換するためのメソッドを定義します。あなたのアプリでほとんどの座標空間の間を簡単に変換できるように UIView クラスは、このプロトコルを採用しています。UIScreen クラスには、スクリーンの座標空間へのアクセス権を与える coordinateSpacefixedCoordinateSpace プロパティが含まれています。カスタムの座標空間と、アプリのビューやスクリーンの座標空間の間で変換するために、独自のクラスで、このプロトコルを採用できます。


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


議論

このプロパティでの長方形はアプリのインターフェイスの向きと常に一致します。すべてのインターフェイスの向きをサポートするアプリの場合、ユーザがポートレートやランドスケープモードの間で、デバイスを回転させると、このプロパティの値は変更します。


利用可能

iOS 8.0 以降で利用可能。





座標空間同士の変換


- convertPoint:toCoordinateSpace: 必須


指定された座標空間に、現在のオブジェクトの座標空間から点を変換します。


宣言

<< SWIFT >>

func convertPoint(_ point: CGPoint,
toCoordinateSpace coordinateSpace: UICoordinateSpace) -> CGPoint

<< OBJECTIVE-C >>
- (CGPoint)convertPoint:(CGPoint)point
      toCoordinateSpace:(id<UICoordinateSpace>)coordinateSpace


パラメーター

point現在のオブジェクトの座標系で指定された点。
coordinateSpaceその point へ変換されるべき座標空間。

戻り値

ターゲットの座標空間に指定された点。


利用可能

iOS 8.0 以降で利用可能。


利用可能

iOS 2.0 以降で利用可能。





- convertPoint:fromCoordinateSpace: 必須


点を指定された座標空間から、現在のオブジェクトの座標空間に変換します。


宣言

<< SWIFT >>

   func convertPoint(_ point: CGPoint,
fromCoordinateSpace coordinateSpace: UICoordinateSpace) -> CGPoint

<< OBJECTIVE-C >>
- (CGPoint)convertPoint:(CGPoint)point
    fromCoordinateSpace:(id<UICoordinateSpace>)coordinateSpace


パラメーター

point指定された座標空間での点。
coordinateSpacepoint が指定された座標空間。

戻り値

現在のオブジェクトの座標空間で指定された点。


利用可能

iOS 8.0 以降で利用可能。





- convertRect:toCoordinateSpace: 必須


指定された座標空間に、現在のオブジェクトの座標空間から長方形を変換します。


宣言

<< SWIFT >>

  func convertRect(_ rect: CGRect,
toCoordinateSpace coordinateSpace: UICoordinateSpace) -> CGRect

<< OBJECTIVE-C >>
- (CGRect)convertRect:(CGRect)rect
    toCoordinateSpace:(id<UICoordinateSpace>)coordinateSpace


パラメーター

rect現在のオブジェクトの座標系で指定される長方形。
coordinateSpacerect が変換されるべき座標空間。

戻り値

ターゲットの座標空間に指定された長方形。


利用可能

iOS 8.0 以降で利用可能。





- convertRect:fromCoordinateSpace: 必須


指定された座標空間から長方形を現在のオブジェクトの座標空間に変換します。


宣言

<< SWIFT >>

    func convertRect(_ rect: CGRect,
fromCoordinateSpace coordinateSpace: UICoordinateSpace) -> CGRect

<< OBJECTIVE-C >>
- (CGRect)convertRect:(CGRect)rect
  fromCoordinateSpace:(id<UICoordinateSpace>)coordinateSpace


パラメーター

rect指定した座標空間の長方形。
coordinateSpacerect が指定された座標空間。

戻り値

現在のオブジェクトの座標空間で指定された長方形。


利用可能

iOS 8.0 以降で利用可能。





次の章
目次
Xcode 10 の新機能

  • UICordinateSpace
  • 概観
  • タスク
  • 境界の長方形を取得
  • bounds 必須プロパティ
  • 座標空間同士の変換
  • convertPoint:toCoordinateSpace: 必須
    convertPoint:fromCoordinateSpace: 必須
    convertRect:toCoordinateSpace: 必須
    convertRect:fromCoordinateSpace: 必須
    文書改定履歴












    トップへ(UICordinateSpace)












    トップへ(UICordinateSpace)












    トップへ(UICordinateSpace)












    トップへ(UICordinateSpace)












    トップへ(UICordinateSpace)












    トップへ(UICordinateSpace)












    トップへ(UICordinateSpace)












    トップへ(UICordinateSpace)












    トップへ(UICordinateSpace)












    トップへ(UICordinateSpace)












    トップへ(UICordinateSpace)












    トップへ(UICordinateSpace)












    トップへ(UICordinateSpace)












    トップへ(UICordinateSpace)












    トップへ(UICordinateSpace)