iPhoneでオブジェクトを回転させる
iPhoneでディスプレイ上に表示できるオブジェクトを回転させる為にはアフィン変換を使う必要があります。
しかしアフィン変換について熟知している必要はありません。Cocoaフレームワークが多くの機能を提供してくれます。
アフィン変換を行う為にはC関数として用意されている CGAffineTransform~ を使用します。
UIオブジェクトは通常UIViewを継承しています。UIViewのtransformプロパティを変更することによりオブジェクトを回転させることができます。
例えば、UIButtonインスタンスを90度回転させる為には以下のように記述します。
button.transform = CGAffineTransformRotate(button.transform, M_PI_2);
ここで注意してほしいことは回転角度を M_PI_2 のようにラジアン値で指定していることです。ラジアン値は以下のようにデファインされています。
#define M_PI 3.14159265358979323846264338327950288 /* pi */
#define M_PI_2 1.57079632679489661923132169163975144 /* pi/2 */
#define M_PI_4 0.785398163397448309615660845819875721 /* pi/4 */
デフォルトに戻すには以下のように記述します。
button.transform = CGAffineTransformIdentity;
iPhoneでディスプレイ上に表示できるオブジェクトを回転させる為にはアフィン変換を使う必要があります。
しかしアフィン変換について熟知している必要はありません。Cocoaフレームワークが多くの機能を提供してくれます。
アフィン変換を行う為にはC関数として用意されている CGAffineTransform~ を使用します。
UIオブジェクトは通常UIViewを継承しています。UIViewのtransformプロパティを変更することによりオブジェクトを回転させることができます。
例えば、UIButtonインスタンスを90度回転させる為には以下のように記述します。
button.transform = CGAffineTransformRotate(button.transform, M_PI_2);
ここで注意してほしいことは回転角度を M_PI_2 のようにラジアン値で指定していることです。ラジアン値は以下のようにデファインされています。
#define M_PI 3.14159265358979323846264338327950288 /* pi */
#define M_PI_2 1.57079632679489661923132169163975144 /* pi/2 */
#define M_PI_4 0.785398163397448309615660845819875721 /* pi/4 */
デフォルトに戻すには以下のように記述します。
button.transform = CGAffineTransformIdentity;