添加UIview自定义的分割线、去掉默认的cell分割线、默认选中某一个(行)cell的方法

本文介绍了如何在UICollectionView中添加自定义的UIView分割线,同时讲解了如何去掉默认的cell分割线,并详细阐述了如何设置默认选中某个特定的cell,包括利用collectionView:layout:sizeForItemAtIndexPath:方法确定cell大小,以及使用scrollToItemAtIndexPath:atScrollPosition:animated:方法实现动画效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  //添加分割线  在tableView的cell中
   
UIView * lineView = [[ UIView alloc]init];

    lineView.
backgroundColor= [ UIColor blackColor];

    [
self.contentView  addSubview:lineView];

    //
 self.lineView = lineView;
    //添加到tableView

-(void)layoutSubviews{

    [super layoutSubviews];

self.lineView.frame = CGRectMake(0, 79, kWIDTH, 2);

}


去掉默认的cell分割线

cell的separatorStyle属性设置为.....None(是一个枚举,点进去就可以找到);


     UICollectionView中默认选中某一个(行)cell的方法:




动态改变cell的大小;在collectionView中。是layout改变cell的大小的,要用UICollectionFlowLayout(决定cell的尺寸)的代理方法:

// 实现这个方法之后, layout.itemSize 就会失效.

- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath{

    

    //获取模型数据

    LZJNewsChannelModel * channel = self.channels[indexPath.item];

    

   // cell 的宽高. cell 的宽度等于 label(选中状态) 的宽

    CGSize itemSize = [self getSizeWithTname:channel.tname];

    

    return itemSize;

    

}

//设置大lable的大小

-(CGSize)getSizeWithTname:(NSString *)tName{

    

    UILabel * lable = [[ UILabel alloc]init];

    

    lable.text = tName;

    

    lable.font = [ UIFont systemFontOfSize:18];

    

    //自适应高度

    [lable sizeToFit];

    

    return lable.bounds.size;

}






在collectionView中:根据indexPath滚动到某一个位置的方法:

// animated: YES ,会有动画效果,滚动中间所有的数据都会加载出来.

    // animated: NO ,不会有动画效果,只会加载滚动结束之后位置的数据.

    [ self scrollToItemAtIndexPath:indexPath atScrollPosition:UICollectionViewScrollPositionCenteredHorizontally animated:NO];

    




    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值