私はAppleを使用するのがかなり新しいですNSAutolayout
。最も簡単な例では、私はデフォルトのテンプレートでタブ付きのiPhoneアプリケーションを作成したと想像することができます。次に最初のビューで私はUISegmentedControl
を追加し、彼に2つの制約を追加しました。 "Center X to:SuperView"と "Bottom Space to:Bottom Layout Guide"。その後、私はアプリを実行すると、UISegmentedControl
の位置は正しいですが、私が2番目のビューに切り替えて戻ったときには、UISegmentedControl
が下がり、UITabBar
によって隠されてしまいます。デバイスを回転させると、分割された制御位置が正しい位置に戻ります。誤ったUISegmentedControl(潜在的なバグ)
これを回避する方法はありますか?
編集:問題を表示するスナップショットはほとんどありません。
Before http://img824.imageshack.us/img824/6830/o2v2.png
After http://img5.imageshack.us/img5/2205/ksb6.pngEDIT 2:私は、一時的な解決策を見つけました。
あなたが例えばプロパティを使用してデータを保存する必要があるすべて:
@property (nonatomic, assign) CGRect fix_didLoadSegmentedFrame;
次にあなたがUISegmentedControl
を変更した値を処理viewDidLoad
機能であなたが行を追加する必要があります
self.fix_didLoadSegmentedFrame = self.mapTypeSegmentedControl.frame;
ます。また、「設定する必要があります要因 "ストーリーボードのプロパティから網膜3.5インチを適用します。
にスーパーする
UISegmentedControl
を添付します。いい問題の説明のために+1。 – uerceg