2011-12-11 11 views
1

iPad 5.0の下でUISwitchコントロールを使用しても問題ありません。しかし、iPad 4.3の下でアプリを実行すると、コントロールは左に移動します。両方のコントロールは、同じ自動サイズ調整マスクとコンテンツモードを有し、このサンプルではiPad 4.3のシミュレータでUISwitchコントロールが変更されました

enter image description here


展開先:4.3
Base SDK 5.0

誰かが私の問題を説明できます。

+0

これをアプリに追加する方法とタイミング、さらにはUISwitchのさまざまな設定を追加することができます。 –

+0

このサンプルでは、​​Interface Builderからコントロールを追加し、設定には触れませんでした。 – Victor

答えて

1

まあ、それじゃない...両方のUISwitchに同じ幅がありません。
私が何かをしようとするために、このコードを使用します。

CGRect aRect = self.mySwitch.frame; 
aRect.origin.x = 20; 
aRect.origin.y = 20; 
self.mySwitch.frame = aRect; 

をそして、それは私の両方のシミュレータで右の配置を与えます。
これは説明ですが、その醜いコードなしでこれを修正する方法です。


これは私がNSLogに戻った値です。

ipad iOS 5 
LOG: Center of sw1 x == 60 : y == 33.50 
LOG: Origin of sw1 x == 20 : y == 20.00 
ipad iOS 4.3 
LOG: Center of sw1 x == 52 : y == 33.50 
LOG: Origin of sw1 x == 5 : y == 20.00 

はたぶん、アップルからのコードが書かれているので、iOSの5の前に開発されたアプリケーションは、それが正しく表示をスイッチの持っているだろうが、逆は真ではありません...
私はより良い説明を見てほしいです。

+0

はい、iOS 4.3とiOS 5.0のコントロールの幅が違うことがわかりました。しかし、なぜ後方互換性がないのですか?そして、私は、他の誰かがこの問題について話し合ったことを知りませんでした。 – Victor

+0

私もこの問題があります。スイッチを右揃えにする理由はわかりません。xibに固定された上と左に設定しても、スイッチは右揃えになっています。 – jowie

関連する問題