SKTagView 0.9.2

SKTagView 0.9.2

测试已测试
Lang语言 Obj-CObjective C
许可证 MIT
发布最新发布2016年7月

Zhao Shaokang维护。



SKTagView 0.9.2

  • 作者:
  • Shaokang Zhao

这个库源自SFTagView,它试图构建一个不使用UICollectionView显示标签的视图,并支持Autolayout。

我试图使其更具Autolayout功能。在尝试了很多之后,我受到UILabel的启发。现在它就像UILabel一样工作,并支持单行和多行模式。

使用方法

示例

查看项目。它包含常规方式和在UITableViewCell中的应用。

代码

- (void)setupTagView
{
  self.tagView = ({
    SKTagView *view = [SKTagView new];
    view.backgroundColor = [UIColor cyanColor];
    view.padding = UIEdgeInsetsMake(10, 25, 10, 25);
    view.interitemSpacing = 8;
    view.lineSpacing = 10;
    //Handle tag's tap event
    view.didTapTagAtIndex = ^(NSUInteger index){
        NSLog(@"Tap");
    };
    view;
  });
  [self.view addSubview:self.tagView];
  [self.tagView mas_makeConstraints:^(MASConstraintMaker *make) {
    make.center.equalTo(superView);
    make.leading.equalTo(superView);
    make.trailing.equalTo(superView);
  }];

  //Add Tags
  [@[@"Python", @"Javascript", @"HTML", @"Go", @"Objective-C", @"C", @"PHP"] enumerateObjectsUsingBlock:^(NSString *text, NSUInteger idx, BOOL *stop) {
    SKTag *tag = [SKTag tagWithText:text];
    tag.textColor = UIColor.whiteColor;
    tag.bgColor = UIColor.orangeColor;
    tag.cornerRadius = 3;
    tag.fontSize = 15;
    tag.padding = UIEdgeInsetsMake(13.5, 12.5, 13.5, 12.5);

    [self.tagView addTag:tag];
  }];
}

提示

在多行模式下与UITableViewCell一起使用时,必须在调用之前设置preferredMaxLayoutWidth

[cell.contentView systemLayoutSizeFittingSize:UILayoutFittingCompressedSize].height + 1;

屏幕截图

正常

与UITableViewCell一起使用

许可证

SKTagView受MIT许可证保护。有关更多信息,请参阅LICENSE文件。