添付のスクリーンショットに赤い「+」/「矢印」のグリフがあります。Xcodeでこの「原点」ポイントを変更するのは簡単です。これをプログラムで行う方法もありますか、それとも完全にXcodeの抽象化ですか?
たとえば、プログラムでUILabelを作成し、右下の座標を計算して配置したいとします。Xcodeでは、赤い「+」が右下のグリッドポイントにあることを確認し、その「原点」を念頭に置いてX、Y、幅、高さのパラメーターを定義します。
自動レイアウトを使用していない場合は、ラベル (または任意のビュー) をコードの中心に配置することで配置できます。したがって、ラベルの右下隅の位置がわかっている場合は、ラベルの幅と高さの半分を差し引くだけで、ラベルの中心の位置を計算できます。
CGPoint lowerRight = somePoint;
CGRect frame = label.frame;
label.center = CGPointMake(lowerRight.x - frame.size.width / 2,
lowerRight.y - frame.size.height / 2);
私はそれをすることをお勧めします。
ただし、必要に応じて、代わりに下位レベルに移動できます。すべてのビューにはコア アニメーション レイヤーがあり、ビューの画面上の外観を実際に管理します。レイヤーにはanchorPoint
プロパティがあり、デフォルトでは (0.5, 0.5) で、レイヤーの中心を表します。anchorPoint
右下隅に (1, 1) を設定できます。
label.layer.anchorPoint = CGPointMake(1, 1);
現在、ラベルcenter
は実際に右下隅の位置を制御しているため、直接設定できます。
label.center = somePoint; // actually sets the lower right corner
フレームワークをターゲットに追加しQuartzCore
、インポート<QuartzCore/QuartzCore.h>
してプロパティを変更する必要がありanchorPoint
ます。
myObject.origin = CGPointMake (0.0,0.0);