2011-06-19 4 views
0

ネットからいくつかの価格を表示するテーブルビューがあります。場合によっては、値段が「noPrice」の商品もあります。 cellForRowAtIndexPathでその価格を検出すると、テキストなしのセルが返されます。それはスペースがかかるので、テーブルに価格とスペース、価格、スペース、などがあります。スペースをとらないUITableViewCellの作成方法は?

cellForRowAtIndexPathで返さなければならないものは、値段のないセルは表示されず、空白もありません。

+0

あなたはnilを返そうとしましたか?気にしないでください: "あなたがnilを返すとアサーションが発生します。" – makdad

答えて

3

私はあなたがテーブルビューのデータをリロードする前に、配列を "クリーンアップ"する必要があると思います。つまり、ネットからデータを受け取ると、配列から空の値をすべて削除した後、tableViewの配列プロパティを設定してreloadDataを呼び出します。

0

ヴォルフガングは私の頭の中で正しい答えを持っています。の前にの前にあなたのテーブルはおそらく正しいアイデアを表示します。

しかし、テーブル行のアニメーションを使用してテーブルの行を積極的にテーブルから削除することができます。価格がわかっていないうちに " - "やその他のテキストがあります。 "不明"、

// Assume you just found out that cell #2 is no good 
NSArray *indexPaths = [NSArray arrayWithObject:[NSIndexPath indexPathForRow:2 inSection:0]; 

[tableView beginUpdates]; 
[tableView deleteRowsAtIndexPaths:indexPaths withRowAnimation:UITableViewRowAnimationFade]; 
[tableView endUpdates]; 
関連する問題