无法在swift中创建TAGVIEW?

我有一个集合视图。我想创建收集视图的单元格作为标记。我已经写了,但它并没有计算宽度&也离开了,单元格之间的距离很近。请告诉我如何改进它?无法在swift中创建TAGVIEW?

extension StoreItemCell:UICollectionViewDelegate { 

func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize {

let width = CGSize(

return self.sizingCell!.systemLayoutSizeFitting(UILayoutFittingCompressedSize)

}

}

override func awakeFromNib() {

super.awakeFromNib()

// Initialization code

self.tagsCollectionView.delegate = self

self.tagsCollectionView.dataSource = self

let cellNib = UINib(nibName: Titles.CellIdentifier.TagCell, bundle: nil)

self.tagsCollectionView.register(cellNib, forCellWithReuseIdentifier: Titles.CellIdentifier.TagCell)

self.tagsCollectionView.backgroundColor = UIColor.clear

self.sizingCell = (cellNib.instantiate(withOwner: nil, options: nil) as NSArray).firstObject as! TagCell?

self.flowLayout.sectionInset = UIEdgeInsetsMake(8, 8, 8, 8)

self.flowLayout.minimumInteritemSpacing = 15

}

请告诉我如何改善它。我附上了我设计的截图。

回答:

添加这一项

func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize { 

let Labell : UILabel = UILabel()

Labell.text = self.TagsArray[indexPath.item] as? String

let labelTextWidth = Labell.intrinsicContentSize.width

return CGSize(width: labelTextWidth + 10, height: 30)

}

func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell 

{

}

回答:

你的代码中创建的UILabel应该在你的父类,而不是在细胞类,

extension YourViewController:UICollectionViewDelegate { 

func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize {

return //YourCellSize here

}

}

哟你必须在你的父类中使用这个委托方法。不在单元类中。

以上是 无法在swift中创建TAGVIEW? 的全部内容, 来源链接: utcz.com/qa/263369.html

回到顶部