如何在iOS中创建标记文件
如何在iOS中创建标签字段,如下面附加的屏幕截图如何在iOS中创建标记文件,ios,tags,Ios,Tags,如何在iOS中创建标签字段,如下面附加的屏幕截图 标签文本应从用户输入中提取。您可以使用用户输入使用更多设计,并使用集合的视图的单元格索引来处理标签,更多设计请点击以下链接- Swift 3 Xcode 8.3.2 这很容易。无需为此使用任何框架,您可以创建自己的视图 假设您有一个ViewController,您想在其上为特定用户添加技能。因此,在该视图中,您将有一个文本字段来接受技能名称,还有一个collectionView来显示用户输入的所有技能。查看图像以获得更清晰的视图 创建需要传递
标签文本应从用户输入中提取。您可以使用用户输入使用更多设计,并使用
集合的视图的单元格索引来处理标签,更多设计请点击以下链接-
Swift 3 Xcode 8.3.2
这很容易。无需为此使用任何框架,您可以创建自己的视图
假设您有一个ViewController,您想在其上为特定用户添加技能。因此,在该视图中,您将有一个文本字段来接受技能名称,还有一个collectionView来显示用户输入的所有技能。查看图像以获得更清晰的视图
创建需要传递给collectionView委托方法的技能数组
var skillArray = [String]()
现在,每当您在文本字段中添加任何内容,并按下键盘上的返回按钮时,您需要将该技能名称添加到技能数组中并重新加载collectionView
skillArray.append(textField.text)
collectionView.reloadData()
下一步添加collectionview方法:
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return self.skillArray.count
}
// make a cell for each cell index path
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let skillCell = collectionView.dequeueReusableCell(withReuseIdentifier: "collectionViewCell", for: indexPath as IndexPath) as! SkillCollectionViewCell
skillCell.skillLabel.text = skillArray[indexPath.row]
skillCell.deleteAction = {
self.skillArray.remove(at: indexPath.row)
self.collectionView.reloadData()
}
return skillCell
}
最后一步是添加collectionViewFlowLayout方法
func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
// handle tap events
print("You selected cell #\(indexPath.item)!")
}
func collectionView(_ collectionView: UICollectionView,layout collectionViewLayout: UICollectionViewLayout,sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize{
let widthText = self.skillArray[indexPath.item]
let font = UIFont(name: "Helvetica", size:18)
let fontAttributes = [NSFontAttributeName: font] // it says name, but a UIFont works
let myText = widthText
let size = (myText as NSString).size(attributes: fontAttributes)
return CGSize(width: size.width+28, height:30)
}
我建议UICollectionView实现标记。它的代码更少,开销更少,易于实现
请按此链接获取指导:
这就是它的样子。请注意它也是灵活的
希望这能帮助你当字符串变长时,这个链接虽然是善意的,但根本不起作用。我在尝试你的方法。但我的标签不是从左边开始的,标签之间的间隔是随机的。如果我理解你的意思,你是说你的标签视图已经准备好了,只是它不是从集合视图的最左边开始的。在这种情况下,请确保将每个单元格的左间距设置为0。您可以从情节提要或使用collectionview的flowlayout委托以编程方式执行此操作。