2011-07-02 5 views
2

私はそれを画面上に(スタンドアロンで、ナビゲーションバーの一部ではなく)プログラム的に配置し、それを右に固執したいので、autoresizingMaskをUIViewAutoresizingFlexibleLeftMarginに設定しました。UISegmentedControl autoresizingMask not working

しかし、私が画面を回転させると、コントロールは元の位置にとどまり、右に移動しません。

また、私はautoresizingMaskのための他のすべての可能な値(およびいくつかの組み合わせ)を試しましたが、事は全く動かない。

同じ設定の画面上の他の要素が正しく移動します。

このビューコントローラにはXIBがありませんが、他のXIBに同様のセグメント化されたコントロールを一時的に配置しようとしましたが、ストラットを正しく設定すると期待どおりに動きました。

私は間違っていますか?あなたのビューコントローラのviewDidLoadメソッドの代わりに

+0

セグメント化されたコントロールを 'self.view'またはそのサブビューの1つに追加していますか?ビューはその親に対してのみサイズが変更されるためです。 –

+0

私はそれをself.viewに追加します。これは、サイズ変更/位置変更を行う他のコントロールと同じです。 –

答えて

1

次のログの文:

NSLog(@"%@", [self.view recursiveDescription]); 

これはあなたのビューコントローラのビュー階層をログアウトします。問題が発生しているログから明確でない場合は、ログに質問を追加してください。