iOSUICollectionView如何实现标签选择器-创新互联
小编这次要给大家分享的是iOS UICollectionView如何实现标签选择器,文章内容丰富,感兴趣的小伙伴可以来了解一下,希望大家阅读完这篇文章之后能够有所收获。

近来,在项目中需要实现一个类似兴趣标签的选择器。由于标签的文字长度不定,所以标签的显示长度就不定。为了实现效果,就使用了UICollectionView来实现了每行的标签数量不定、cell的宽度自适应的效果。先在此分享出来:
1、自适应UICollectionViewCell
这里只是在自适应UICollectionViewCell上放一个和UICollectionViewCell保持一样大小的按钮,当选中和取消选中时改变按钮的文字颜色和边框颜色:
#pragma mark---标签cell
@implementation YLTagsCollectionViewCell
-(instancetype)initWithFrame:(CGRect)frame
{
if(self = [super initWithFrame:frame]){
self.backgroundColor = [UIColor clearColor];
_btn = [UIButton buttonWithType:UIButtonTypeCustom];
//此处可以根据需要自己使用自动布局代码实现
_btn.frame = CGRectMake(0, 0, frame.size.width, frame.size.height);
_btn.backgroundColor = [UIColor whiteColor];
_btn.titleLabel.font = [UIFont systemFontOfSize:14];
_btn.layer.borderWidth = 1.f;
_btn.layer.cornerRadius = frame.size.height/2.0;
_btn.layer.masksToBounds = YES;
[_btn setTitleColor:HEXCOLOR(0x666666) forState:UIControlStateNormal];
_btn.layer.borderColor = HEXCOLOR(0xdddddd).CGColor;
_btn.userInteractionEnabled = NO;
[self.contentView addSubview:_btn];
}
return self;
}
-(void)layoutSubviews
{
[super layoutSubviews];
_btn.frame = CGRectMake(0, 0, self.contentView.frame.size.width, self.contentView.frame.size.height);
}
-(void)setSelected:(BOOL)selected
{
[super setSelected:selected];
_btn.layer.borderColor = selected?HEXCOLOR(0xffb400).CGColor:HEXCOLOR(0xdddddd).CGColor;
[_btn setTitleColor:selected?HEXCOLOR(0xffb400):HEXCOLOR(0x666666) forState:UIControlStateNormal];
}
-(void)setHighlighted:(BOOL)highlighted
{
[super setHighlighted:highlighted];
_btn.layer.borderColor = highlighted?HEXCOLOR(0xffb400).CGColor:HEXCOLOR(0xdddddd).CGColor;
[_btn setTitleColor:highlighted?HEXCOLOR(0xffb400):HEXCOLOR(0x666666) forState:UIControlStateNormal];
}
@end另外有需要云服务器可以了解下创新互联建站www.cdcxhl.com,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
当前文章:iOSUICollectionView如何实现标签选择器-创新互联
URL链接:http://www.scyingshan.cn/article/dedicd.html


咨询
建站咨询
