当前位置: 首页 > 面试题库 >

如何在Swift中将TextField添加到UIAlertController

霍建柏
2023-03-14
问题内容

我正在尝试显示UIAlertController带有的UITextView。当我添加行时:

    //Add text field
    alertController.addTextFieldWithConfigurationHandler { (textField) -> Void in
    }

我收到一个Runtime错误:

致命错误:解开Optional值时意外发现nil

    let alertController: UIAlertController = UIAlertController(title: "Find image", message: "Search for image", preferredStyle: .Alert)

    //cancel button
    let cancelAction: UIAlertAction = UIAlertAction(title: "Cancel", style: .Cancel) { action -> Void in
        //cancel code
    }
    alertController.addAction(cancelAction)

    //Create an optional action
    let nextAction: UIAlertAction = UIAlertAction(title: "Search", style: .Default) { action -> Void in
        let text = (alertController.textFields?.first as! UITextField).text
        println("You entered \(text)")
    }
    alertController.addAction(nextAction)

    //Add text field
    alertController.addTextFieldWithConfigurationHandler { (textField) -> Void in
        textField.textColor = UIColor.greenColor()
    }
    //Present the AlertController
    presentViewController(alertController, animated: true, completion: nil)

ViewController通过呈现在我的内部IBAction

我已经从这里下载了代码,并且工作正常。我将该方法复制并粘贴到我的代码中,但它中断了。最后一行的 自我 存在没有影响。


问题答案:

因此,我开始检查看看我的代码与工作代码之间可能有什么不同。我注意到我的ViewController扩展了

UITextFieldDelegate

显然这意味着我需要设置任何子UITextView的委托:

alertController.addTextFieldWithConfigurationHandler { (textField) -> Void in
    searchTextField = textField
    searchTextField?.delegate = self //REQUIRED
    searchTextField?.placeholder = "Enter your search terms"
}


 类似资料:
  • 我试图向数组中添加一个元组(例如,2项元组)。 我得到的是: 找不到接受提供的参数的“=”的重载 提示:我试图超载每个参考书的=: ...但是没有弄对。 有什么想法吗。。。解决方案

  • 问题内容: 我正在尝试添加内容,但我做不到…有人可以帮助我吗? 这是我的代码: 问题答案: 您需要实现委托方法并从那里返回。 这是一个例子: 请记住,当您要使用自己的自定义图像时,需要创建一个 普通 图像。本应只用于标准引脚注解。 另请注意,您不应在致电后立即尝试访问。可能尚未准备好。 使用委托方法。 您还需要致电/

  • 我想在文本域中添加一些提示文本,如“姓名”或“姓氏”。我像这样创建textfield,但我找不到如何做到这一点。在这里,我只是在JavaFX文本字段中发现了这个清晰的提示文本,只有当用户开始输入时,但我不敢相信这是唯一的方法。还是我错了?

  • 问题内容: 它可以在默认键盘上正常工作,但是我无法在数字键盘上使用它。 有任何想法吗? 问题答案: 据我所知,您不能在键盘部分上添加“完成”按钮。您必须在或中添加一个(如果您使用的是)。 查看文档以获取更多信息。 编辑 :检查此问题以获取有关如何执行此操作的示例。 编辑2 :Swift中的类似示例。 编辑3 :来自编辑2的代码,因为链接可能过期。 斯威夫特4.2

  • 问题内容: 在我的Java桌面应用程序中,我有一个TableView,我想在其中包含CheckBoxes列。 我确实在http://www.jonathangiles.net/javafx/2.0/CellFactories/上找到了完成的位置,但是由于无法下载,因为我不知道Jonathan Giles会多久回复我的电子邮件,所以我认为d问… 如何将CheckBox放在TableView的单元格中

  • 问题内容: 我试图在代码中添加到xml定义的布局中。我有一个xml工作表,其中定义了很多。但是我必须在代码中添加一些视图,因此在中创建一个: 在这种布局中,我想添加我的: 但是我只收到以下错误消息: 我该怎么做? 问题答案: 尝试使用 还请确保你正在创建的布局参数是LinearLayout.LayoutParams …