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

iPhone上的UIAlertView中的UITextField - 如何使其响应?

在iPhone上,UIAlertView已经被弃用,因此您应该使用UIAlertController来实现类似的功能。要在UIAlertController中添加UITextField,您需要执行以下步骤:

  1. 首先,导入所需的框架:
代码语言:swift
复制
import UIKit
  1. 创建一个UIAlertController,并设置其样式为Alert:
代码语言:swift
复制
let alertController = UIAlertController(title: "Title", message: "Message", preferredStyle: .alert)
  1. 添加一个UITextField到UIAlertController:
代码语言:swift
复制
let textField = UITextField()
alertController.addTextField { (textField) in
    textField.placeholder = "Enter text here"
}
  1. 添加一个UIAlertAction,以便用户可以关闭警报:
代码语言:swift
复制
let cancelAction = UIAlertAction(title: "Cancel", style: .cancel, handler: nil)
alertController.addAction(cancelAction)
  1. 最后,呈现UIAlertController:
代码语言:swift
复制
self.present(alertController, animated: true, completion: nil)

完整的代码示例:

代码语言:swift
复制
import UIKit

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()

        let button = UIButton(frame: CGRect(x: 0, y: 0, width: 100, height: 50))
        button.center = view.center
        button.setTitle("Show Alert", for: .normal)
        button.addTarget(self, action: #selector(showAlert), for: .touchUpInside)
        view.addSubview(button)
    }

    @objc func showAlert() {
        let alertController = UIAlertController(title: "Title", message: "Message", preferredStyle: .alert)

        let textField = UITextField()
        alertController.addTextField { (textField) in
            textField.placeholder = "Enter text here"
        }

        let cancelAction = UIAlertAction(title: "Cancel", style: .cancel, handler: nil)
        alertController.addAction(cancelAction)

        self.present(alertController, animated: true, completion: nil)
    }
}

这段代码将在屏幕中央创建一个按钮,当用户点击该按钮时,将显示一个包含UITextField的UIAlertController。

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

相关·内容

【IOS开发基础系列】UIAlertController专题

协议拥有响应对话框视图的按钮动作的回调方法。...和对话框不同,上拉菜单的展示形式和设备大小有关。在iPhone上(紧缩宽度),上拉菜单从屏幕底部升起。在iPad上(常规宽度),上拉菜单以弹出框的形式展现。         ...接下来我们就可以在iPhone或者其他紧缩宽度的设备上展示了,不出我们所料,运行得很成功。     ...上的上拉菜单效果         如果上拉菜单中有“取消”按钮的话,那么它永远都会出现在菜单的底部,不管添加的次序是如何(就是这么任性)。...在iOS 8中我们不再需要小心翼翼地计算出弹出框的大小,UIAlertController将会根据设备大小自适应弹出框的大小。并且在iPhone或者紧缩宽度的设备中它将会返回nil值。

60630

UIAlertView、UIActionSheet、UIAlertController使用

alert.alertViewStyle = UIAlertViewStyleDefault; [alert show]; } // 需要遵守协议UIAlertViewDelegate来响应点击事件...UIAlertControllerStyleActionSheet,那么其作用和效果就相当于iOS8中被废弃的UIActionSheet。...想反,如果UIAlertController对象的preferredStyle属性取值为UIAlertControllerStyleAlert,那么其作用和效果就相当于iOS8中被废弃的UIAlertView...我们知道,使用UIAlertView和UIActionSheet需要遵守对应的协议并实现相应的方法,因为UIAlertView和UIActionSheet采用delegate的方式处理事件。...而UIAlertController则采用灵活的block方式处理事件。所以使用UIAlertController不用再遵守某个协议,只需将响应事件的代码写在block中即可。

6.3K30
  • VR在医疗上的成长,会使其成为癌症中的“药神”么

    对于癌症,VR从未停止过对其的尝试。历年以来,VR在医疗上不断成长,力求突破,但是VR真的会成为癌症中的“药神”么?...就让我们带着疑问,围绕着癌症从产生到如何治愈的全过程,随着小编一起来看一看,VR在医疗上的成长吧~ 真实还原,走入癌细胞的内部 当癌细胞可以被真实的还原出来,所有对于其的观察都变得更容易了。...该研究小组的首席研究员Greg Hannon,在关于这项研究访谈的视频里表示:“我们希望在VR中创建一个互动的、可信的肿瘤3D模型,让科学家可以‘进入’并仔细观察它”,“我认为这项技术不仅仅是改变了人类该如何理解癌症成因...,同时也是理解有机体最初是如何发育的最前沿科技。”...IPM VR不仅解决了目前医生们只能看到平面蛋白质结构的问题,还实现了“让医生们沉浸在3D的蛋白质模型中,来检查每个患者独特的基因突变”这一构想。

    34220

    iOS学习——UIAlertController详解

    在开发中,弹出提示框是必不可少的。...UIAlertController是在iOS8.0中出现的一种统一的提示风格的界面,代替原来的UIAlertView和UIActionSheet两种类别。...1.2.1 UIAlertController上添加按钮    UIAlertController上的每一个按钮都是一个UIAlertAction,与UIAlertController的类型是UIAlertView...,其中第一个参数是按钮的标题;第二个参数UIAlertActionStyle是选择按钮的风格类型,有三种选择:常规、取消和销毁风格类型;第三个参数是一个Block,定义了按钮的点击响应事件。...  上面我们讲到了如何在UIAlertController提示器上添加按钮,但是有时候,我们需要在提示器上添加一个或多个文本框让用户填写一些信息,在UIAlertController中也提供了一个方法直接可以在提示器上添加文本框

    3.4K170

    【IOS 开发】基本 UI 控件详解 (UISegmentedControl | UIImageView | UIProgressView | UISlider | UIAlertView )

    OCViewController.h 中的 IBOutletConnection 属性变量上 :  (2) 代码示例 代码示例 :  -- 界面设计文件 :  -- OCViewController.h...:" 方法 : 用户单击对话框中的按钮激发的方法, buttonIndex 是点击的按钮的索引; -- "- (void) willPresentAlertView : (UIAlertView *)...枚举值 : 警告框中包含 用户名 密码输入; 访问输入框方法 :  -- "- (UITextField *) textFieldAtIndex : (NSInteger) textFieldIndex...控件 [alert show]; } //实现的 UIAlertViewDelegate 协议中的方法 - (void) alertView:(UIAlertView *)alertView...; -- UIActionSheetStyleBlackTranselucent : 透明黑色背景上显示白色文字; -- UIActionSheetBlackOpaque : 纯黑的背景上显示白色文字;

    3.2K40

    iOS8统一的系统提示控件——UIAlertController

    iOS8统一的系统提示控件——UIAlertController 一、引言         相信在iOS开发中,大家对UIAlertView和UIActionSheet一定不陌生,这两个控件在UI设计中发挥了很大的作用...在iOS8之后,系统吸引了UIAlertController这个类,整理了UIAlertView和UIActionSheet这两个控件,在iOS中,如果你扔使用UIAlertView和UIActionSheet...这里有旧的代码的使用方法: UIAlertView使用:http://my.oschina.net/u/2340880/blog/408873。...    }]];      [self presentViewController:con animated:YES completion:nil]; 上面的代码,会在屏幕上呼出警告框,如下: ?...,可以使某个按钮更加突出,只能设置已经在actions数组中的AkertAction,会使设置的按钮更加显眼,如下: ?

    64410

    iPhone、Mac上都能跑,刷屏的Llama 2究竟性能如何?

    Llama 2 性能究竟如何?...还有人已经开始直播 Llama 2 和其他类 ChatGPT 产品的 PK: 在测试过程中,大家发现了一些问题,比如 Llama 2 受到的 RLHF 训练似乎太多了点,这导致它非常守规矩: 在一位开发者制作的免费应用程序中...从 Llama 2 的回答中,我们可以得知,它掌握的数据截止日期是 2022 年 12 月。 接着,我们向 Llama 2 询问了一个不那么贴切的问题。...它的目标是让你「在任何设备上都能编译运行大语言模型」,包括移动端、消费级电脑端和 Web 浏览器。...当然,借助 MLC-LLM,运行其他版本的 Llama 2 模型更是不在话下:7B 模型在 Apple M2 Max 上的运行速度约为 46 tok/s,在 RTX 4090 上约为 156 tok/s

    47930

    iOS-UITextField 全面解析iOS中UITextField 使用全面解析UITextField的代理方法通知UITextField 在storyboard 中设置属性

    iOS中UITextField 使用全面解析 建议收藏,用到的时候来这里一查就都明白了 //初始化textfield并设置位置及大小 UITextField *text = [[UITextField...UITextField继承自UIControl,此类中的属性 text.contentVerticalAlignment = UIControlContentVerticalAlignmentTop...派生自UIControl,所以UIControl类中的通知系统在文本字段中也可以使用。...2、Placeholder : 可以在文本框中显示灰色的字,用于提示用户应该在这个文本框输入什么内容。当这个文本框中输入了数据时,用于提示的灰色的字将会自动消失。...但是这个选项要跟 Min Font Size 配合使用,文本再缩小,也不会小于设定的 Min Font Size 。 接下来的部分用于设置键盘如何显示。

    7.3K60

    京东面试题:Java中 ++i 的操作是线程安全的么?为什么?如何使其线程安全呢?

    JVM的栈是线程私有的,所以每个栈帧上定义的局部变量也是线程私有的,意味着是线程安全的。...可以参考http://blog.csdn.net/taohuaxinmu123/article/details/24472073中对Java虚拟机栈(Java Virtual Machine Stacks...,实际上就是一个CPU循环忙等待。...最初是没有CAS,只有陷入内核态的锁,这种锁当然也需要硬件的支持。后来硬件发展了,有了CAS锁,把compare 和 set 在硬件层次上做成原子的,才有了CAS锁。...五、 由于线程共享栈区,不共享堆区和全局区,所以当且仅当 i 位于栈上是安全的,反之不安全。 2. AtomicInteger 和 各种 Lock 都可以确保线程安全。

    41210

    京东面试题:Java中 ++i 的操作是线程安全的么?为什么?如何使其线程安全呢?

    JVM的栈是线程私有的,所以每个栈帧上定义的局部变量也是线程私有的,意味着是线程安全的。...可以参考http://blog.csdn.net/taohuaxinmu123/article/details/24472073中对Java虚拟机栈(Java Virtual Machine Stacks...,实际上就是一个CPU循环忙等待。...最初是没有CAS,只有陷入内核态的锁,这种锁当然也需要硬件的支持。后来硬件发展了,有了CAS锁,把compare 和 set 在硬件层次上做成原子的,才有了CAS锁。...五、 由于线程共享栈区,不共享堆区和全局区,所以当且仅当 i 位于栈上是安全的,反之不安全。 2. AtomicInteger 和 各种 Lock 都可以确保线程安全。

    43010
    领券