0

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

参考图像

警报样本
(来源:ashfurrow.com

并将该文本插入到视图控制器的标签中。我扩展了此功能,以便我可以在警报控制器中选择预设关键字(如“好”、“可能”和“几乎”)以加快输入过程,因为这些词在我的应用程序。如下图所示

样本.

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

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

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

//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 中执行此操作?

4

1 回答 1

1

要将操作文本添加到 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
            }
          }

我希望这可以帮助你

于 2017-02-28T20:53:02.073 回答