首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

当我在AlertViewController中输入空的AlertView文本字段时,不应关闭iOS

当在AlertViewController中输入空的AlertView文本字段时,不应关闭iOS应用程序。

在iOS开发中,AlertViewController是一个用于显示警告框的控制器。它通常用于向用户显示一些信息或者获取用户的输入。当用户点击警告框上的按钮时,AlertViewController会执行相应的操作。

在输入文本字段的情况下,我们可以通过添加文本框来获取用户的输入。然而,如果用户没有输入任何内容并且点击了警告框上的按钮,通常情况下应该给予用户一个提示,而不是直接关闭应用程序。

为了实现这个功能,我们可以在AlertViewController的回调方法中进行判断。当用户点击按钮时,我们可以获取文本字段的值,并检查是否为空。如果为空,我们可以显示一个提示信息,告诉用户需要输入内容,并阻止警告框关闭。如果不为空,则可以执行相应的操作。

以下是一个示例代码:

代码语言:swift
复制
let alertController = UIAlertController(title: "输入文本", message: "请输入文本内容", preferredStyle: .alert)

alertController.addTextField { (textField) in
    textField.placeholder = "请输入文本"
}

let cancelAction = UIAlertAction(title: "取消", style: .cancel) { (_) in
    // 取消按钮点击事件
}

let confirmAction = UIAlertAction(title: "确定", style: .default) { (_) in
    if let textField = alertController.textFields?.first, let text = textField.text {
        if text.isEmpty {
            // 显示提示信息,要求用户输入内容
            let emptyAlertController = UIAlertController(title: "提示", message: "请输入文本内容", preferredStyle: .alert)
            let okAction = UIAlertAction(title: "确定", style: .default, handler: nil)
            emptyAlertController.addAction(okAction)
            self.present(emptyAlertController, animated: true, completion: nil)
            
            // 阻止警告框关闭
            return
        }
        
        // 执行相应的操作
        // ...
    }
}

alertController.addAction(cancelAction)
alertController.addAction(confirmAction)

present(alertController, animated: true, completion: nil)

在这个示例中,我们首先创建了一个AlertViewController,并添加了一个文本字段。然后,我们创建了取消和确定按钮的UIAlertAction,并分别给它们添加了点击事件的回调闭包。

在确定按钮的回调闭包中,我们首先获取文本字段的值,并检查是否为空。如果为空,我们创建了另一个UIAlertController来显示提示信息,并阻止警告框关闭。如果不为空,我们可以执行相应的操作。

这样,当用户输入空的文本字段时,应用程序不会关闭,而是给予用户一个提示,要求输入内容。

对于这个问题,腾讯云没有特定的产品或者链接来解决,因为这是一个iOS开发中的问题,与云计算无关。但是,腾讯云提供了丰富的云计算产品和服务,可以满足各种应用场景的需求。您可以访问腾讯云官方网站(https://cloud.tencent.com/)了解更多信息。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

wkwebview加载完成_【Swift】WKWebView与JS交互使用

, animated: true, completion: nil) } // confirm //作为jsconfirm接口实现,需要有提示信息以及两个相应事件, 确认及取消,并且completionHandler...接口实现,默认需要有一个输入框一个按钮,点击确认按钮回传输入值 //当然可以添加多个按钮以及多个输入框,不过completionHandler只有一个参数,如果有多个输入框,需要将多个输入值通过某种方式拼接成一个字符串回传...let js = "document.getElementsByTagName('h2')[0].innerText = '这是一个iOS写入方法'"; //将js注入到网页 6、js获取DOM节点几种方式...JavaScriptCore 这个库是 Apple iOS 7 之后加入到标准库,它对 iOS Native 与 JS 做交互调用产生了划时代影响。...因为当我们获取 JSContext ,获取到 JSContext 从属于一个 JSVirtualMachine。

5.5K00

IOS开发基础系列】UIAlertController专题

当您向对话框控制器添加文本,您需要指定一个用来配置文本代码块。         ...举个栗子吧,要重新建立原来登录和密码样式对话框,我们可以向其中添加两个文本框,然后用合适占位符来配置它们,最后将密码输入框设置使用安全文本输入。     ...类同样也是iOS 8新出现类,用来替换UIPopoverController。...原先UIAlertView和UIActionSheet类仍然可以iOS 8工作得很好,所以没有必要急于更换代码(要知道本文用到许多函数尽在iOS 8支持)。...具体表现是:项目中,自定义AlertView实例生命周期是plugin管理,plugin差不多是单例模式,故自定义AlertView实例不会轻易释放,只有下一次调用插件,实例进行替换才会将上一实例释放

32330

iOS 使用WKWebView

// JS端调用alert所传数据可以通过message拿到 // 原生得到结果后,需要回调JS,是通过completionHandler回调 self.showNoticeText(message...会触发此方法 // 通过message可以拿到JS端所传数据 // iOS端显示原生alert得到YES/NO后 // 通过completionHandler回调给JS端 let alertView...-> Void) { // JS端调用prompt函数,会触发此方法 // 要求输入一段文本 // 原生输入得到文本内容后,通过completionHandler回调给JS let...alertTextField = UIAlertController.init(title: "请输入", message: "JS调用输入框", preferredStyle: UIAlertController.Style.alert...{ //页面开始加载,可在这里给用户loading提示 self.showNoticeWait(text: "加载..."); } func webView(_ webView: WKWebView

1.5K10

Url Scheme实现APP间通信、分享

应用: 第三方分享SDK就是通过这种方式来实现分享,我们将需要分享数据传递给SDK,SDK通过OpenURL来打开第三方应用传递数据,返回SDK来处理OpenUrl参数,实现查看分享回调。...给 WSL 添加Url Scheme [添加URL Scheme.png] 重写WSLAppDelegateopenUrl方法,当WSL被唤起时会执行openUrl方法,我们可以方法里根据传入参数做出处理...sharedApplication] openURL:url options:nil completionHandler:^(BOOL success) { }]; } 通过浏览器打开唤起WSL,测试一下,输入地址是..." WSLAPP://wslmeiksjkfdfkfkfhskfhskfhskj "(Url Scheme://+ 参数字符串),参数可以为。...[ 通过浏览器打开唤起WSL] 二、UIActivityViewController系统原生分享添加事件,通过Url Scheme来唤起WSL,并传参 - (IBAction)shareToWSL:

1.6K80

iOS自动检查更新

这一方法android应用上比较常见,因为应用市场多且杂,由自己来掌握更新会放心得多,但作为ios端来说,因为提交新版本给app store需要一段时间审核才能让用户下载到,所以实时性有些差,这也是为什么有时候会碰到应用提示更新而...,而且在请求版本信息,去往app store下载链接也会一并返回,可以直接使用,非常方便。...向app store请求版本信息: AppID:当我自己开发者中心创建一个应用后,就会得到一个应用专属AppID,这个AppID不是我们创建证书创建那个Identifier,而是自动生成一串唯一数字...// 查看具体内容内容数是否为 NSArray *resultsArray = [appInfoDic objectForKey:@"results"]; if (!...*)alertView clickedButtonAtIndex:(NSInteger)buttonIndex { if (alertView.tag == 10000) {// 是更新提示框

52220

180多个Web应用程序测试示例测试用例

大于指定最大限制输入不应被接受或存储在数据库。 14.在所有输入字段检查特殊字符。 15.字段标签应该是标准,例如,接受用户名字字段应该正确地标记为“名字”。...6.说明文本框应为多行。 7.禁用字段应显示为灰色,并且用户不应将重点放在这些字段上。 8.单击输入文本字段后,鼠标箭头指针应变为光标。 9.用户应该不能输入下拉选择列表。...12.重复记录不应显示结果网格。 13.检查所有列是否可见,并在必要启用水平滚动条。 14.检查数据以获取动态列(其值是根据其他列值动态计算列)。...3.检查页面上是否有任何具有默认焦点字段(通常,焦点应设置屏幕第一个输入字段上)。 4.关闭父窗口/打开器窗口,检查子窗口是否已关闭。...21.使用样本输入数据测试存储过程和触发器。 22.将数据提交到数据库之前,应截断输入字段前导空格和尾随空格。 23.主键列不允许使用值。

8.1K21

iOS】关联对象详解

有时只是给某个类添加一个额外属性,完全没有必要继承出来一个子类。此时可以使用“关联对象”。 delegate回调方法中使用关联对象。有时候一些delegate回调方法需要处理一些回调任务。...设置关联对象键是个“不透明指针(opaque pointer)”。设置关联对象,若想另两个键匹配到同一个值,则二者必须是完全相同指针才行。...,category虽然可以添加属性,但是并不会生成带下划线成员变量,也不会生成getter和setter实现(详情参考笔者《【iOS】Category VS Extension 原理详解》)。...代码以及输出结果 delegate回调方法中使用关联对象 《Effective Objective-C 2.0 编写高质量iOS与OS X代码52个有效方法》item10介绍了使用关联对象一种场景...当用户按下按钮关闭该视图,需要用委托协议(delegate protocol)来处理此动作,但是,要想设置好这个委托机制,就得把创建警告视图和处理按钮动作代码分开。

7.7K40

扒虫篇- Bug日志 Ⅹ

2、下面的报错是因为Build setting Enable Testability Debug默认是开启,设为No 即可。...重新把新导出图片设置到工程即可。 7....利用监听键盘升降通知来实现输入支付密码自定义试图,总是获取不到升起来通知 总是无法出发键盘升起来通知,是因为模拟器情况下,有一种情况是默认键盘不弹出来,这个Bug很隐秘,需要使用 comand...= [super initWithFrame:frame style:UITableViewStylePlain]; //这样初始化就不会有空出来部分 10.UIAlertView代理方法重置...keyWindow根视图又返回到原视图中 一个老代码中使用了UIAlertView并且UIAlertView代理方法重置keyWindow根视图又返回到原视图中 UIAlertView

62210

我常用iOS开源库

前言 OC库和Swift库相似功能很多 选择建议是:如果OC库Swift完全能用 就优先用OC库 原因是:Swift语言还是不太稳定 语言一更新 程序一大改 实在是太痛苦了 菜单相关 语言 项目名称...JGProgressHUD 提示窗 ObjectC MBProgressHUD 提示窗 ObjectC SVProgressHUD 提示窗 ObjectC DQAlertView 提示窗 ObjectC ios-custom-alertview...自定义弹出层 Swift DOAlertController 弹出层 Swift ZJNotice 消息提醒 其他UI 语言 项目名称 项目说明 ObjectC QMUI_iOS 腾讯开源UI集...ObjectC DZNEmptyDataSet 设置页面无数据背景图 ObjectC JSQMessagesViewController IM UI ObjectC VGParallaxHeader...圆形进度条 Swift ZJCheckbox CheckBox组件 Swift YXWaveView 波浪效果 功能型 语言 项目名称 项目说明 ObjectC TPKeyboardAvoiding 有文字输入

2.7K54

iOS逆向工程工具集

本篇文章是我在学习逆向工程整理逆向工程工具集 只作为记录使用 并不是详细教程 阅读本篇教程需要你有一定逆向工程知识 一,Cycript 介绍 iOS运行时工具 可hook运行时进程 并提供了以下能力...1,开发者可以应用运行时查看和修改应用 得到所有正在使用类名或方法名 2,运行时修改实例变量值 3,Method Swizzling,替换特定方法实现 4,运行时调用任意代码 当然Cycript...二,OpenSSH openSSH提供了远程登录到iPhone功能 使用前需要在iPhone安装OpenSSH工具 OpenSSH默认登录密码为:alpine 远程登录实例 ssh root@设备...) 五,dyld_decache 提取iOS系统内二进制文件 从iOS 3.1开始,包括frameworks在内许多库文件被放入了位于“/System/Library/Caches/com.apple.dyld...还望各位指正 文章将会在学习过程持续更新

90910

2019年最全UI设计之输入字段剖析

以下内容由摹客团队翻译整理,仅供学习交流,摹客iDoc是支持智能标注和切图产品协作设计神器。 今天,我想谈谈UI设计中最常用一个设计元素 - 输入字段输入字段允许用户UI输入文本。...容器字段 容器大小应与用户预期输入成正比 单行字段,当光标到达右侧字段边缘,比输入行长文本会自动向左滚动。用户眼睛隐藏文本越多,他们验证输入难度就越大。...标签文本不应占用多行 如果你需要在字段上下文中提供其他信息,请考虑使用帮助文本。 4. 占位符/输入文本 占位符是用户字段交互之前看到文本输入文本是用户文本字段输入文本。...聚焦状态 你需要使用视觉效果突出显示活动字段。 当字段处于活动状态,始终显示光标。光标应指示当前用户字段位置。它可以防止用户进行不必要操作。 ?...关闭图标 关闭图标是一个具有强大功能小图标 - 它可以帮助降低交互成本。 '清晰'关闭图标 显示此图标可帮助用户一次点击中删除字段文本。 ? 注意容器右侧“交叉”图标。

2.4K20

iOS学习——UIPickerView实现年月选择器

最近项目上需要用到一个选择器,选择器内容只有年和月,而在iOS系统自带日期选择器UIDatePicker却只有四个选项如下,分别是时间(时分秒)、日期(年月日)、日期+时间(年月日时分)以及倒计时...分割线视图 @property (nonatomic, strong) UIView *lineView; /** 初始化子视图 ,整体布局*/ - (void)initUI; //以下三种方法基类实现都是空白...{ 127 128 } 129 130 @end   BaseView.m主要是对整体框架进行布局,我们控件位置都是通过绝对位置进行布局,所以需要修改话可以直接在对应位置上进行修改...,然后BaseView.h注释我们说过了,点击背景遮罩图层和取消、确定按钮点击事件实现效果在基类中都是空白,具体效果在子类中进行重写来控制。...(NSInteger)row forComponent:(NSInteger)component{ 95 return self.data[row]; 96 } 97 98 //选中效果

4.1K130
领券