Swift UIAlertController 每行触发一次选择编辑的文本字段

标签 swift uialertcontroller

我有一个 UIPickerView,在 selectedRowInComponent 中有一个 if 语句,用于检查 textField 的值。如果用户在文本字段中输入的数字大于 10,则会发出警报。一切都运行良好,除了我想让警报仅在选择行并编辑字段后触发一次。按照目前的情况,每次更新/编辑字段的值大于 10 时都会调用警报。初始警报就足够了。关于如何完成此任务有什么建议吗?谢谢!

if (inputField.text! as NSString).doubleValue > 10 {

                SweetAlert().showAlert("Number is greater than 10", subTitle: "Please select number less than 10", style: AlertStyle.CustomImag(imageFile: "alertimage.png"))
            }

最佳答案

快速而肮脏:

在 viewController 中创建一个公开可用的 bool 变量,并将其初始化为 false(让我们调用变量“alertAlreadyShown”)

然后只需在 pickerView 方法中对该 bool 进行 if 语句即可

       if (inputField.text! as NSString).doubleValue > 10 {
            if (alertAlreadyShown == false) {
                    SweetAlert().showAlert(...)
                    alertAlreadyShown = true
            }
       }

但不要忘记在适当的时间重置 bool 值以再次启用警报

关于Swift UIAlertController 每行触发一次选择编辑的文本字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36416523/

相关文章:

ios - SKSpriteNode 从屏幕上消失后如何删除或销毁它

ios - 带有图像和文本的 UIAlertView

ios - 我不能在 swift 3 中对请求使用 Alert inside response

ios - UIalertcontroller 按钮序列

php - 使用 JSON 字典的 POST 请求不会在 Swift 3 中使用 $_POST 返回正确的值?

ios - 为 UITextField 设置委托(delegate)会产生错误

ios - 如何通过名称传递 id。因此,通过单击我需要在 Collection View 单元格中显示相应名称 ID 的任何单元格

Swift:使用自定义 subview 创建自定义 UISlider

ios - 如何在Objective C中通过UIView获取UIAlertController?

swift - UIAlertController 消息被截断为一行