ios - 我的警报 Controller 操作究竟如何将文本 append 到标签?

标签 ios swift3 append label uialertaction

基本上,我设置了一个警报 Controller ,以便当我单击 View Controller 中的按钮时,会弹出一个警报 Controller ,我可以在文本字段中输入单词,然后单击“确定”按钮。

引用图片

alert sample
(来源:ashfurrow.com)

并将该文本插入到 View Controller 的标签中。我扩展了此功能,以便我可以拥有预设的关键字(例如“好”、“可能”和“几乎”),我可以从警报 Controller 中选择这些关键字以加快打字过程,因为这些单词在我的电脑中经常被输入。应用程序。如下图所示

Sample .

我想知道您是否也可以将我选择的关键词添加到标签中的任何内容中?每次我尝试单击预设关键字添加到标签时,它都会删除标签中已有的内容。

具体来说,无论我的标签中已有什么文本,我都可以选择一个预设关键字来 append 到标签中的内容吗?

这是我到目前为止所拥有的第二张图片:

//Editable Text Box with Preset Keywords

@IBOutlet weak var UselessLabel: UILabel!

@IBAction func UselessTapped(_ sender: UIButton) {
    print("Useless Button Tapped")
    openUselessAlert()

}

func openUselessAlert() {
    
    //Create Alert Controller
    let alert9 = UIAlertController (title: "Uselss:", message: nil, preferredStyle: UIAlertControllerStyle.alert)
    
    //preset keyword as button in alert controller
    let bt1 = UIAlertAction(title: "Good", style: UIAlertActionStyle.default){
        (action) in self.UselessLabel.text = "Good"}
    
    alert9.addAction(bt1)
    
    //preset keyword as button in alert controller
    let bt2 = UIAlertAction(title: "Likely", style: UIAlertActionStyle.default){
        (action) in self.UselessLabel.text = "Likely"}
    
    alert9.addAction(bt2)
    
    //preset keyword as button in alert controller
    let bt3 = UIAlertAction(title: "Almost", style: UIAlertActionStyle.default){
        (action) in self.UselessLabel.text = "Almost"}
    
    alert9.addAction(bt3)
    
    //Create Cancel Action
    let cancel9 = UIAlertAction(title: "CANCEL", style: UIAlertActionStyle.cancel, handler: nil)
    
    alert9.addAction(cancel9)

    
    //Create OK Action
    let ok9 = UIAlertAction(title: "OK", style: UIAlertActionStyle.default) { (action: UIAlertAction) in print("OK")
        let textfield = alert9.textFields?[0]
        print(textfield?.text!)
        self.UselessLabel.text = textfield?.text!
    }
    
    alert9.addAction(ok9)
    
    //Add Text Field
    alert9.addTextField { (textfield: UITextField) in
    textfield.text = self.UselessLabel.text           

    textfield.placeholder = "Useless"
    }
    
    //Present Alert Controller
    self.present(alert9, animated:true, completion: nil)
}

求助!在 swift 3 中你到底会如何做到这一点?

最佳答案

要将操作文本添加到 UILabel,您可以使用

 let bt3 = UIAlertAction(title: "Almost", style: UIAlertActionStyle.default){
        (action) in self.UselessLabel.text = self.UselessLabel.text + action.title}

如果你想添加到 AlertView 中的 UITextField 那么你必须这样做

let bt3 = UIAlertAction(title: "Almost", style: UIAlertActionStyle.default){
        (action) in if(alert9.textFields.count > 0)
            {
                alert9.textFields[0].text = alert9.textFields[0].text + action.title
            }
          }

希望对你有帮助

关于ios - 我的警报 Controller 操作究竟如何将文本 append 到标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42517989/

相关文章:

hadoop - 带 append 功能的 HDFS 是如何工作的

java - StringBuilder追加 ","基本关注

objective-c - 如何从 dataDetectorTypeLink 设置电子邮件主题?

ios - 跨平台加解密

ios - 在 iOS 中,如何在 Swift 中的数字键盘上方添加一行?

javascript - 如何在 Jquery 中使用 $(this) 选择器 append div?

iphone - 加载多张图像

ios - Swift 4 - 以编程方式创建垂直 UIScroll

ios - 我怎样才能停止在 Swift 中执行一个 Action ?

ios - 如何删除 View 和更新约束?