以编程方式调用 TextFieldShouldReturn Swift

Posted

技术标签:

【中文标题】以编程方式调用 TextFieldShouldReturn Swift【英文标题】:Call TextFieldShouldReturn Programmatically Swift 【发布时间】:2016-10-13 08:57:32 【问题描述】:

我的 TableViewController 中有一个带有搜索返回键的 textField。

我成功地将一些文本以编程方式放入搜索文本字段中,但我没有成功以编程方式运行搜索选项。

这是我目前的代码:

当我尝试运行最后一行 (textFieldShouldReturn(search_textfield)) 时,应用程序崩溃。

如何以编程方式调用 textFieldShouldReturn 以激活“搜索”按钮?

【问题讨论】:

“textFieldShouldReturn”是什么意思?你想让键盘关闭吗? 您在询问之前搜索过这个网站吗?请看看这个问题是否重复:***.com/questions/11932166/… 【参考方案1】:

如果我正确理解了您的问题,您需要以下内容:

import UIKit

class ViewController: UIViewController, UITextFieldDelegate 

@IBOutlet weak var textField: UITextField!


override func viewDidLoad() 
    super.viewDidLoad()
    textField.delegate = self

textFieldShouldReturn 函数在您按下键盘上的返回键时被调用

    func textFieldShouldReturn(_ textField: UITextField) -> Bool 
    self.resignFirstResponder() //to hide the keyboard
    //call any of your functions
    callFunction()
    return true


func callFunction() 
    print("called function after return key was pressed...")

这一切都非常适合我在 Xcode8 中使用 swift3 和 ios10。

【讨论】:

【参考方案2】:

从您的代码来看,您似乎想要搜索写入文本字段中的默认值,这就是您编写 textfieldShould Return 的原因..

您可以通过创建类似的方法来做到这一点

-(void)PerformSearch:(NSString*)searchStr

//Do what ever Logic you implement in searching

在你的 ViewDidLoadMethod 中调用这个方法来执行搜索

-(void)ViewDidLoad

[super:ViewDidLoad];
[self performSearch:textfield.text];

【讨论】:

以上是关于以编程方式调用 TextFieldShouldReturn Swift的主要内容,如果未能解决你的问题,请参考以下文章

在以编程方式创建的 UICollectionView 中未调用 didDeselectItemAtIndexPath 函数

以编程方式调用 ibaction 方法不会改变按钮的背景?

UITableView以编程方式调用滑动操作

在 TableViewHeader 中以编程方式调用 IBAction

以编程方式调用 UIRefreshControl 不起作用

如何以编程方式在移动设备上调用本机日期选择器