- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想向我的 ViewController 添加一个方法,该方法显示一 strip 有文本的消息作为带有是和否按钮的警报。结果应为 Bool 类型(是/否)。
我试过的是:
func YesNoBox(msg: String) -> Bool
{
var retVal = false
let alert = UIAlertController(title: "", message: msg, preferredStyle: .alert)
let action_yes = UIAlertAction(title: "Yes", style: .default, handler:
{ _ in NSLog("The \"Yes\" alert occured."); retVal = true })
let action_no = UIAlertAction(title: "No", style: .cancel, handler:
{ _ in NSLog("The \"No\" alert occured."); retVal = false })
alert.addAction(action_yes)
alert.addAction(action_no)
self.present(alert, animated: true, completion: nil)
return retVal
}
但是,retVal
的值总是false
。如果我使用的是 C/C++,我想我可以用一个指针来解决这个问题,但这是 Swift(我对此还很陌生)。
任何人知道我怎样才能让它工作吗?
编辑:我遇到的问题如下。在 ViewController 上我有一个 TextField。当我点击文本字段时,应用程序应询问用户是否要粘贴剪贴板中的文本。如果是,则粘贴,否则将焦点置于 TextField(即让光标在其中闪烁)。我尝试使用“textFieldShouldBeginEditing”来执行此操作,并且在这种方法中我显示了 YesNoBox。问题是 TextField 在 YesNoBox 关闭后永远不会获得焦点。当我在 Box 调用后使用“becomeFirstResponder()”时,应用程序会卡住。我不知道该怎么办?
最佳答案
使用补全
func yesNoBox(msg: String,completion:@escaping(Bool) -> ())
{
let alert = UIAlertController(title: "", message: msg, preferredStyle: .alert)
let action_yes = UIAlertAction(title: "Yes", style: .default, handler:
{ _ in
NSLog("The \"Yes\" alert occured.");
completion(true)
})
let action_no = UIAlertAction(title: "No", style: .cancel, handler:
{ _ in
NSLog("The \"No\" alert occured.");
completion(false)
})
alert.addAction(action_yes)
alert.addAction(action_no)
self.present(alert, animated: true, completion: nil)
}
打电话
yesNoBox(msg:"someMessage") { yes in
if yes {
// do yes action
}
else {
// do no action
}
}
2个回调:
这个函数有 2 个完成(假设我们有一个函数可以上传图像并通过完成通知进度,另外 1 个表示完成)
func uploadImage(data: Data,progress:@escaping(Float) -> (),completion:@escaping(Bool) -> ()) {
// implementation here
}
调用
self.uploadImage(someData) { progress in
print(progress)
}) { done in
print(done)
}
关于ios - 如何将 YesNo 框实现为 ViewController 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56157096/
我是 python/django 的新手。我喜欢 django 的模板,但有一件经常出现的事情我找不到 对我来说,在一个(可能很长的)HTML 标签上有一个条件属性是很常见的。大多数情况下,这是一个额
我又遇到了一个小问题,但这次是关于 MessageBoxButton.YesNo。这是我的问题:我不知道什么是正确的语法,所以如果我按 Enter(keyboard) 或单击是,Application
这很好用: class YesNo a where yesNo :: a-> Bool instance YesNo Bool where yesNo True = True
我正在创建一个在我的树莓派上运行的 shell 脚本。在此过程中,我试图简化一些重复的代码,并且我想为 whiptail 函数制作一个包装器,如下所示。 function yesno() { an
本文整理了Java中com.anrisoftware.sscontrol.core.yesno.YesNoFlag类的一些代码示例,展示了YesNoFlag类的具体用法。这些代码示例主要来源于Gith
当我打开带有选项 YesNo 的 MessageBox 时,会显示右上角的(通常)取消十字,但没有效果。 System.Windows.MessageBox.Show("Really, really?
我正在使用流利的 nHibernate 将数据库标志列“Y”/“N”映射到 bool 属性: Map(x => x.Enabled).Column("ENABLED_FLAG").CustomType
我想向我的 ViewController 添加一个方法,该方法显示一 strip 有文本的消息作为带有是和否按钮的警报。结果应为 Bool 类型(是/否)。 我试过的是: func YesNoBox(
本文整理了Java中net.nemerosa.ontrack.model.form.YesNo.of()方法的一些代码示例,展示了YesNo.of()的具体用法。这些代码示例主要来源于Github/S
我正在学习在 Access 2013 中使用 SQL,一切进展顺利,但我在实现作业目标之一时遇到了一些问题。首先,这里是我需要考虑的表格信息: Field Name Data Typ
本文整理了Java中com.anrisoftware.sscontrol.core.yesno.YesNoFlag.asBoolean()方法的一些代码示例,展示了YesNoFlag.asBoolea
本文整理了Java中com.anrisoftware.sscontrol.core.yesno.YesNoFlag.valueOf()方法的一些代码示例,展示了YesNoFlag.valueOf()的
本文整理了Java中net.nemerosa.ontrack.model.form.YesNo.label()方法的一些代码示例,展示了YesNo.label()的具体用法。这些代码示例主要来源于Gi
本文整理了Java中net.nemerosa.ontrack.model.form.YesNo.help()方法的一些代码示例,展示了YesNo.help()的具体用法。这些代码示例主要来源于Gith
本文整理了Java中net.nemerosa.ontrack.model.form.YesNo.value()方法的一些代码示例,展示了YesNo.value()的具体用法。这些代码示例主要来源于Gi
用户在 YesNo 消息框中有两个选项。如果否,它会执行一定的过滤器序列,但如果用户对消息框问题回答是,我想过滤另一列。目前,在“Else”处,我收到一条错误消息,内容为“编译错误:赋值左侧的函数调用
我想在消息框中显示 YesNoCancel 按钮,但同时我想禁用 YesNo 按钮并仅启用 Cancel 按钮。 我想这样做的原因是我正在做一个演示应用程序,我想向用户展示特定功能可用,但同时我不想给
我有一个 table.py,我想在其中更改每个 BooleanColumn 的 True 和 False 值的图标。我知道它可以通过 BooleanColumn 的 yesno 参数修改,但我不知道如
在我写的程序中我遇到了一些困境 DialogResult result; result = MessageBox.Show("question", "title", MessageBoxButtons
最好有更大的 MessageBox 按钮,因为此应用程序的目标是平板电脑。 DialogResult dialogResult = MessageBox.Show( message, capt
我是一名优秀的程序员,十分优秀!