IOS -- UICollectionView里面的cell点击,点击一个cell改变其他cell的状态

view.m

- (void)initWithCreatorCollectView
{
    //模拟数据
    [self imitateData];
    
    float width = ([UIScreen mainScreen].bounds.size.width - 55)/2.0;
    float height = 45;
    float rowCount = _buyBtnDataArr.count / 2.0;
    _collecViewHeight = ceilf(rowCount) * (height + 15);
    _flowLayout = [[UICollectionViewFlowLayout alloc] init];
    _flowLayout.minimumInteritemSpacing = 13;//左右边距
    _flowLayout.minimumLineSpacing = 5;//上下边距
    _flowLayout.sectionInset = UIEdgeInsetsMake(1, 1, 0, 1);
    //设置collectionView滚动方向
    _flowLayout.scrollDirection = UICollectionViewScrollDirectionVertical;
    _flowLayout.itemSize = CGSizeMake(width, 60);
    
    _collectionView = [[UICollectionView alloc] initWithFrame:CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.width-40, _collecViewHeight) collectionViewLayout:_flowLayout];
    _collectionView.backgroundColor = [UIColor clearColor];
    [_collectionView registerClass:[HMSemiBuyBtnCollectionViewCell class] forCellWithReuseIdentifier:@"cell"];
    _collectionView.dataSource = self;
    _collectionView.delegate = self;
    _collectionView.delaysContentTouches = NO;//使view里面的btn点击明显
    _collectionView.scrollEnabled = NO;//不可滑动
    _collectionView.showsVerticalScrollIndicator = NO;//隐藏滚动条
    
    
    //设置默认选中按钮的样式
    [_collectionView selectItemAtIndexPath:[NSIndexPath indexPathForItem:1 inSection:0]  animated:YES scrollPosition:UICollectionViewScrollPositionNone];
    
    
    [self addSubview:_collectionView];
}

cell.m

- (void)setSelected:(BOOL)selected
{
    NSLog(@"%@",selected?@"YES":@"NO");
  
    if (selected) {//选中
        [self.buyChapterBtn setUserInteractionEnabled:NO];
        [self.buyChapterBtn setTitleColor:[UIColor colorWithHexString:@"F94F50"] forState:UIControlStateNormal];
        self.buyChapterBtn.layer.borderColor = [UIColor colorWithHexString:@"F94F50"].CGColor;
        NSLog(@"asasasas-1");
    }else {//未选中
        [self.buyChapterBtn setUserInteractionEnabled:YES];
        [self.buyChapterBtn setTitleColor:[UIColor colorWithHexString:@"333333"] forState:UIControlStateNormal];
        self.buyChapterBtn.layer.borderColor = [UIColor colorWithHexString:@"D6D6D6"].CGColor;
        NSLog(@"asasasas-2");
    }
    [super setSelected:selected];
}

 

posted on 2017-10-09 17:15  麦芽呀~  阅读(3443)  评论(0编辑  收藏  举报