2011-12-04 14 views
2

インデックス0のセクションに3つのセルを持つプログラムでUITableViewを作成しました。このセクションのインデックス0にあるセルのUISwitchを反転すると、3番目のセルの挿入がアニメーション化されます。可視不完全なUITableViewRowAnimation

UITableViewRowAnimationの最後に残念なことに、これらの奇妙な行が表示されます(下の図を参照)。セルの削除がアニメ化されても同じことが起こります。

http://cl.ly/0l120K091b3s0h3J1l3m

誰かがこの問題を解決する方法を教えてもらえますか?それは本当に醜いように見えます。ここでUISwitchが上にあるときに実行されますコード:

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 

NSArray *rowAtIndex2inSectionAtIndex0 = 
     [NSArray arrayWithObject: 
     [NSIndexPath indexPathForRow:2 inSection:0]]; 

if ([defaults boolForKey:@"one"] == 1 && 
    [defaults boolForKey:@"two"] == 1 && 
    numberOfRowsInSection0 == 2) 
{ 
    numberOfRowsInSection0++; 

    [self.tableView 
    insertRowsAtIndexPaths:rowAtIndex2inSectionAtIndex0 
    withRowAnimation:UITableViewRowAnimationTop]; 
} 

答えて

1

は、あなたが戻ってきている行の高さを確認し、それらが全体の数字ではなく分率であることを確認してください。

私はあなたが言及して任意のライン半ば遷移は、以下で除去することができることがわかりました
+0

あなたは、セルの行の高さを意味していますか?私は細胞のカスタム高さを設定しませんでした。 – iMaddin

+0

tableviewdelegateを使用しない場合、テーブルビュー行の高さをどのように指定しますか? –

+0

私はカスタム高さを設定していないので、テーブルビューはデフォルト値を選択しています。私のテーブルビューはAppleのものとまったく同じように見えました。 Settings.app。私が指定したのはフッターとヘッダーの高さだけです。 – iMaddin

0

: -

[self.tableView setSeparatorStyle:UITableViewCellSelectionStyleNone];