2017-05-26 11 views
0

2つのテーブルビューのセルの間のスペースを与える、私はFacebookの中で同じように2 UItableviewcellsの間にスペースを追加する方法を見つけ、解決策が親切に以下のコードObjective Cの - IOS

-(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath{ 
cell.contentView.backgroundColor = [UIColor whiteColor]; 
UIView *whiteRoundedView = [[UIView alloc]initWithFrame:CGRectMake(8, 8, self.view.frame.size.width-18, cell.contentView.frame.size.height - 18)]; 
CGFloat colors[]={1.0,1.0,1.0,1.0};//cell color white 
whiteRoundedView.layer.backgroundColor = CGColorCreate(CGColorSpaceCreateDeviceRGB(), colors); 
whiteRoundedView.layer.masksToBounds = false; 
whiteRoundedView.layer.cornerRadius = 5.0; 
whiteRoundedView.layer.shadowOffset = CGSizeMake(-1, 1); 
whiteRoundedView.layer.shadowOpacity = 0.3; 
whiteRoundedView.layer.shadowColor = [UIColor lightGrayColor].CGColor; 
[cell.contentView addSubview:whiteRoundedView]; 
[cell.contentView sendSubviewToBack:whiteRoundedView];} 
をチェック見つかった

このコードは私に出力を与えています私はしたいが問題は それは何度も呼び出して、私はtablview をスクロールすると、私のアプリケーションを遅くすると私はスクロールダウンしながら影が増加し続けている 誰もこの問題で私を助けることができますか?

+1

UITableViewCellの下部にUIViewを追加することができますが、これはパフォーマンスに影響しません。 –

+1

これを確認してください:https://stackoverflow.com/questions/17490203/how-to-create-paddingspacing-between-rows-in-tablview/17490283#17490283 – brianLikeApple

答えて

3

TableViewCellsが再利用されている背景色をセルとして10

設定されたセルの背景色クリアと設定表示色のY位置を設定します - 多くの行がある場合は、何度も何度も再利用されます。 willDisplayCell:が呼び出されるたびに、と別のwhiteRoundedViewが追加されます。したがって、少しスクロールしてセルを10回再利用した後で、さらに10個のサブビューを追加しました。しばらくの間スクロールしてください。サブビューが追加されました。そしてあなたはすべての行ののためにそれをやっています。

あなたはどちらか

A)

Bを追加したサブビューの存在をチェックし、唯一それが初めての場合、それを追加したり、...)、カスタムUITableViewCellを作成することができますし、あなたが望むようにフォーマットしてください(はるかに良いオプション)。

1

ちょうど20画素以下の高さでセルに一つのビューを追加するには、セルと比較して、