Autolayout に苦労しています (新しいアプリで初めて使用します)。
次の状況:
- 絵コンテ
- iPad
- 自動レイアウトが有効
1 つのポップオーバーで、ユーザーの選択に従ってプログラムで 8 つのボタンを再レイアウトする必要があります。これは、ボタンを 180° 回転させる必要がある瞬間まで正常に機能します (アプリの機能である逆さまに表示するため)。
ローテーションのコードを追加するとすぐに、再レイアウトが機能しなくなります。なぜボタンの位置を変更できるのか (ケース 2 のように) はわかりませんが、回転すると機能しなくなります。
ケース 1:
ボタン 0 | ボタン 1 | ボタン 2 | ボタン 3
ボタン 4 | ボタン 5 | ボタン 6 | ボタン 7
ケース 2:
ボタン 7 | ボタン 6 | ボタン 5 | ボタン 4
ボタン 3 | ボタン 2 | ボタン 1 | BUTTON 1
(すべてのボタンが 180°回転、つまり上下逆さま)
AutoLayout をオフにすると、魅力的に機能します。問題は、AutoLayout をオフにするとすぐに、アプリの残りの部分が完全に台無しになることです。
誰かが私がこの問題を理解するのを手伝ってくれたら、それは素晴らしいことです.
コードはviewDidAppearにあります
for (UIButton *button in self.allButtons) {
if (button.tag == i) {
button.transform = CGAffineTransformMakeRotation(M_PI);
button.frame = CGRectMake((300 - (100 * currentButtonPosition)) + offsetWidthButton, offsetHeightButton, 100, 100);
NSLog(@"Button Tag Nr: %d\nFrame:\nX=%f\nY=%f\nW=%f\nH=%f",button.tag, button.frame.origin.x, button.frame.origin.y, button.frame.size.width, button.frame.size.height);
}
}
ボタンのフレーム座標は、NSLog 出力ですべて正しいです。どういうわけか、button.transform が .frame = CGRectMake の部分を台無しにしていると思いますが、なぜ私には理解できないので、神秘的な autoLayout を研究し続けるために、あなたの助けやガイダンスを楽しみにしています。
説明が理解できることを願っています:-)
ありがとう、良い一日を ロニー