如何在 swift 中添加与 UIAlertController 的 textField 一起使用的“基本类型”?
Posted
技术标签:
【中文标题】如何在 swift 中添加与 UIAlertController 的 textField 一起使用的“基本类型”?【英文标题】:How can i add "essential typing" use with UIAlertController's textField in swift? 【发布时间】:2021-01-15 06:03:21 【问题描述】:我想添加功能,例如,如果textfield
中没有任何字母并按确认按钮,则textfield
打印"you must need to write folder name"
,并在显示打印时停止操作。我在谷歌找到了一些例子,但我不知道如何调整我的代码。
func folderAddAlert()
let alert = UIAlertController(title: "Folder name", message: nil, preferredStyle: .alert)
alert.addTextField (folderAddTF) in folderAddTF.placeholder = "Please add folder name"
print("+ clicked." )
let action = UIAlertAction(title: "Confirm", style: .default) (_) in
guard let folder = alert.textFields?.first?.text else return
print("folderName: \(folder)")
self.folderNames.append(folder)
self.collectionView.reloadData()
let cancel = UIAlertAction(title: "Cancel", style: UIAlertAction.Style.default, handler: nil)
alert.addAction(action)
alert.addAction(cancel)
present(alert, animated: true, completion: nil)
【问题讨论】:
【参考方案1】:你的方法是对的,但在这里你需要检查文本字段是否为空,或者在用户按下确认按钮时验证是否为空
let action = UIAlertAction(title: "Confirm", style: .default) (_) in
guard let folder = alert.textFields?.first?.text, !folder.isEmpty else
self.present(alert, animated: true, completion: nil)
if let getPlaceholder = alert.textFields?.first, let placeHolderText = getPlaceholder.placeholder
getPlaceholder.attributedPlaceholder = NSAttributedString(string: placeHolderText,
attributes: [NSAttributedString.Key.foregroundColor: UIColor.red])
return
print("folderName: \(folder)")
【讨论】:
我真的很感谢你让我帮忙!以上是关于如何在 swift 中添加与 UIAlertController 的 textField 一起使用的“基本类型”?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Swift 中使用色调和一些文本向 UIImageView 添加叠加层?