2017-02-01 7 views
1

私はすべてのセルがデータを表示するたびにサーバー応答からのデータを持つセルを持つUITableViewを持っています。だから私はそれらの "空の"細胞を取り除く必要があります。私はすでに検索し、可能な解決策を見つけることができませんでした。 How to remove empty cells in UITableView?の解決策はうまくいかなかった。実際には私のテーブルビューが消えてしまった。UITableViewから空のセルを削除するには?

フッタービューを追加する以外の解決策が必要です。何かありますか?

+0

は、あなたはそれがテーブルビューからすべての不要な空のセルを非表示になりますので、空のフッターのビューを追加しようとすることがありますか? – CodeChanger

+0

コードはありますか?あなたがそれをしたら、それを共有してください。それは物事をより明確かつ理解しやすくするでしょう。 – Adeel

+0

このリンクをチェックすると、テーブルビュー内のセルが削除されます。http://stackoverflow.com/questions/1369831/eliminate-extra-separators-below-uitableview –

答えて

0

は、あなたがサーバーからのみテーブルビューのデータソースにnilでないデータを追加され、あなたのデータをチェックする必要があります。この

- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section 
{ 
    return [[UIView alloc]init]; 
} 
6

を試してみてください。

その後、テーブルビューをリロードします。

このようにして、テーブルビューには空のセルはありません。シンプル。場合は、あなたの問題は、セルの数が表示されている

はあなたのビュー

を埋めていないあなたは2つの方法のいずれかを使用することができます

tableview.tableFooterView = UIView() 
+0

私はすでにチェックしていると、null以外のデータがある場合は、tableviewがリロードされます。それ以外の場合は、「データなし」というメッセージが表示されます。 – Hamed

+0

私は各セルの特定のデータについて話していますが、単に "for"ループを通してサーバーレスポンスを実行し、データソースに無しのデータを追加しないでください。 – rv7284

+0

@Hamed私はちょうど私の答えを更新します – rv7284

4

を試すことができます。

1. self.tableView.tableFooterView.frame = CGRectZero; 
2. self.tableView.tableFooterView = [[UIView alloc]initWithFrame:CGRectZero]; 
+0

魅力のように動作します君は! –

0

私はあなたがarrayによってcellにデータを追加している願っています。したがって、サーバーからデータを受け取った場合にのみ、配列にデータを追加してください。サーバーからデータを受信しない場合は、何も追加しないでください。あなたのarray秒数をnumberOfRowsに返す。

1

セパレータについては、 UITableViewのプロパティ "separator"を変更することで、それを削除できます。

enter image description here

しかし、これはまた、データセルに影響を及ぼします。データセルにカスタムセパレータラインを追加する必要があります。あなたはまた、ペン先からそれを行うことができますテーブルビュー

func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat { 
    return 0.01 
} 

またはこの

self.tableView.tableFooterView = UIView() 
+0

opのquesは、セルセパレータではない空のセルを削除しようとしています。 – vaibhav

+0

実際、私の問題は空のセルを削除することでした。私は解決策を見つけました。ストーリーボードでテーブルビューの高さの制約を与え、それを.hファイルにドラッグするだけです。次に、テーブルをリロードする直前または直後に次のコードを追加します。** tableviewHeight = [配列数] * [行の高さ]; **。しかし、これは私が必要としない最終細胞のための細胞分離器をもたらした。だから私はあなたのソリューションを私のものと結びつけ、完璧に働いています! – Hamed

0

。ソースから

- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section { 

    return 0.01f; 
    } 

    - (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section 
    {   
     return [UIView new]; 
    } 
0

を使うの下部にある空のセルを削除するには

関連する問題