如何在 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 添加叠加层?

如何与框架项目swift共享父(主机)项目pod?

如何使用 Swift XCUITest 添加摇晃手势? [关闭]

如何添加填充到搜索栏swift ios

如何在 NSObject 类中添加动态行为:Swift

如何在 Swift 中删除添加的快捷方式?