4

このコードで回転させたいアウトレット コレクション配列にいくつかの UIButtons があります。

for(UIButton *button1 in b90){
    button1.transform = CGAffineTransformMakeRotation( ( 90 * M_PI ) / 180 );
}

残念ながら、うまくいきません。180度または360度回転する値、たとえばpiまたは2 piなど(基本的にはボタンが同じ場所にあることを意味します)を指定すると機能しますが、ボタンをそのままにする他の値を指定すると機能しますこのエラーが発生します:

キャッチされない例外 'NSInternalInconsistencyException' が原因でアプリを終了しています。問題のあるビューは次のとおりです: >'

フレームと変換の部分は一目瞭然です。ボタンをまったく歪ませたくないと言っているだけだと思います。xib ファイルの [自動レイアウトを使用] ボタンのチェックを外すことで問題を回避できますが、回転したボタンがピクセル化されて見えます。実行時にiDeviceを回転させてから、何らかの理由で元に戻すとピクセル化されませんが、これは私が望むものではありません。

「自動レイアウトを使用」オプションを無効にせずにボタンを配置する方法についてのアイデアはありますか?

すべてのヘルプは大歓迎です。私は常に最良の回答をチェックしています!

4

1 に答える 1

4

私は同じステートメントを使用していますが、それは私にとってはうまくいきます:

#define DEGREES_TO_RADIANS(d) (d * M_PI / 180)
btn.transform = CGAffineTransformMakeRotation(DEGREES_TO_RADIANS(-90));

古いxcodeで自動レイアウトが有効になっているIOS 6.0コードを使用していると思います。

詳細を教えていただけますか?

ありがとう

于 2012-11-19T11:11:55.373 に答える