iOS-OC-设置UITableViewCell之间的间距(推荐第四种)

xiaoxiao2021-02-28  86

1:tableView分割线,  不显示

 self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;

2:iOS-OC-设置UITableViewCell之间的间距(推荐第四种)

原文链接:http://blog.csdn.net/u014220518/article/details/51995989

1.设置假的间距,我们在tableviewcell的contentView上添加一个view,比如让其距离上下左右的距离都是10;这个方法是最容易想到的;

2.用UIContentView来代替tableview,然后通过下面这个函数来设置UICollectionViewCell的上下左右的间距;

[objc] view plain copy <span style="font-size:18px;"><span style="font-size:18px;">//协议中的方法,用于返回单元格的大小  - (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath{      return CGSizeMake(ScreenWidth-20,150);  }  //协议中的方法,用于返回整个CollectionView上、左、下、右距四边的间距  - (UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout insetForSectionAtIndex:(NSInteger)section{      //上、左、下、右的边距      return UIEdgeInsetsMake(10101010);  }</span></span>  

3.用控件tableview,比如有十条数据,那就给tableview分十组,每组只放一条数据,也就是一个cell,然后设置UICollectionViewCell的head view和foot view来设置cell的间距,但是这个方法只能设置上下间距,如果想设置距离屏幕左右的距离,可以设置uitableview距离左右的距离;uitableview的style为UITableViewStyleGrouped;不然headview会浮动;

[objc] view plain copy <span style="font-size:18px;">- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{      return 10;  }    - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{      return 1;  }    - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{      return 50;  }    - (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{      return 10;  }    - (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section{      return 0.00001;  }    - (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section{      UIView *headView = [[UIView alloc]init];      headView.backgroundColor = [UIColor redColor];      return headView;  }    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{      static NSString *TableSampleIdentifier = @"cellStr";      UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:TableSampleIdentifier];      if (cell == nil) {          cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:TableSampleIdentifier];      }      return cell;  }</span>  

4.重新设置的UITableViewCellframe。

代码如下:

[objc] view plain copy <span style="font-size:18px;">#import "MyViewCell.h"    @implementation MyViewCell    - (void)awakeFromNib {      [super awakeFromNib];      // Initialization code  }    - (void)setFrame:(CGRect)frame{      frame.origin.x += 10;      frame.origin.y += 10;      frame.size.height -= 10;      frame.size.width -= 20;      [super setFrame:frame];  }    - (void)setSelected:(BOOL)selected animated:(BOOL)animated {      [super setSelected:selected animated:animated];        // Configure the view for the selected state  }    @end</span>  

效果如下:

转载请注明原文地址: https://www.6miu.com/read-77580.html

最新回复(0)