JXSegmentedView
JXSegmentedView copied to clipboard
需要设置非选中cell的背景色和边框高度、圆角,区别于选中状态的cell,有实现方法吗?
你好 你实现了嘛
自定义DataSource 和 UICollectViewCell . 可以实现
简单的可以修改cell颜色来达到效果 for index in 0..<self.dataSource.titles.count { if let cell = self.segmentedView.collectionView.cellForItem(at: IndexPath(item: index, section: 0)) cell.contentView.backgroundColor = .red cell.contentView.layer.cornerRadius = 16 } }
自定义DataSource 和 UICollectViewCell . 可以实现
可以举个例子吗?
防止大家踩坑,我给大家搞了一个出来了。
import UIKit
import JXSegmentedView
open class ReserveJXSegmentedTitleDataSource: JXSegmentedTitleDataSource {
open override func segmentedView(_ segmentedView: JXSegmentedView, cellForItemAt index: Int) -> JXSegmentedBaseCell {
let cell = super.segmentedView(segmentedView, cellForItemAt: index)
cell.layer.cornerRadius = 5
return cell
}
open override func registerCellClass(in segmentedView: JXSegmentedView) {
segmentedView.collectionView.register(ReserveJXSegmentedTitleCell.self, forCellWithReuseIdentifier: "cell")
}
}
open class ReserveJXSegmentedTitleCell: JXSegmentedTitleCell {
open override func reloadData(itemModel: JXSegmentedBaseItemModel, selectedType: JXSegmentedViewItemSelectedType) {
if itemModel.isSelected {
backgroundColor = .nw_main
} else {
backgroundColor = .nw_FAFAFA
}
super.reloadData(itemModel: itemModel, selectedType: selectedType)
}
}
就是没动画效果,然后需要把JXSegmentedView的indicators设置为[],大家按照自己项目需求搞搞
@LeeWiHong