を使用してビューを移動します。 を使用CGAffineTransformTranslate
すると、移動してNSlog: view.center.x
もこの値は変化しませんか? でも私NSlog: view.frame.orgin.x
、この現在値は私が動くと常に変化します!では、移動時に現在の値の中心を取得するにはどうすればよいですか?
質問する
3847 次
1 に答える
7
フレームの中心を取得する必要があります。これはかなり簡単に実現できます。
次のような関数を定義します。
CGPoint CGRectCenter(CGRect rect)
{
return CGPointMake(CGRectGetMidX(rect), CGRectGetMidY(rect));
}
そして、次の方法でビューの中心を取得できます。
CGRectCenter(view.frame);
編集:
propertyのドキュメントをframe
見たところframe
、変換が適用されている場合、の値は未定義であると書かれています。view.layer.frame
CALayer のドキュメントには同じ警告が表示されないため、を使用したほうがよい場合があります。ただし、UIView メソッドは CALayer メソッドを呼び出しているだけなので、問題ないかもしれません。
于 2012-12-09T13:29:30.817 に答える