2010-12-31 7 views
0

デバイスの回転でUISwitchの再配置に問題があります。スイッチはテーブルビューの一部であり、方向が変わったときに、私はdidChangeInterfaceRotation()メソッドでスイッチフレームを明示的に設定しています。それは正常に動作しますが、 の遷移はスムーズではなく、シミュレータで表示されるテーブルビューのサイズ変更とスイッチフレーム設定に遅れがあります。それは少し奇妙に見える。私はこれをよりスムーズに行う方法を教えてくれますか?向きが変わったときにセルの最後にUISwitchを再配置する

+0

セルのアクセサリビューとして追加していますか? – BoltClock

+0

いいえ.. [cells addsubview]; –

+0

設定アプリを模倣したい場合は、アクセサリビューとして追加する必要があります。 – BoltClock

答えて

1

コメントに記載されているとおり、次のようにします。私はこれも好きです。 accessoryViewとしてスイッチを追加すると、tableviewcellは自動的にtextlabelのサイズを変更するためです。とにかくそれについて心配する必要はありません。

UISwitch *mySwitch = [[UISwitch alloc] initWithFrame:CGRectZero]; 
mySwitch.on = YES; //Or no :-D 

//If necessary add a target with a action 
[mySwitch addTarget:self action:@selector(anAction:) forControlEvents:UIControlEventValueChanged]; 

cell.accessoryView = mySwitch; 
[mySwitch release]; 

私の答えがあなたを助けてくれることを願っています。これは、スイッチをセルに追加する最も簡単な方法です。

サンドロマイヤー

関連する問題