kmi*_*las 44 xcode uitextfield ios swift
(iOS8,Xcode6,Swift)使用Swift,如何在"返回"按钮上轻击?
以下链接中的doc指定使用该textFieldShouldReturn
方法:
// Swift
@optional func textFieldShouldReturn(_ textField: UITextField!) -> Bool
Run Code Online (Sandbox Code Playgroud)
我挂断的地方是"_ textField"部分.我使用Storyboard创建了文本字段.如何捕获此特定文本字段的通知?我是否需要创建一个新类并将其设置为此文本字段的委托?我是否为文件分配了一个名称,然后以某种方式挂钩了它?
https://developer.apple.com/documentation/uikit/uitextfielddelegate/1619603-textfieldshouldreturn
jay*_*iya 87
class ViewController: UIViewController,UITextFieldDelegate //set delegate to class
@IBOutlet var txtValue: UITextField //create a textfile variable
override func viewDidLoad() {
super.viewDidLoad()
txtValue.delegate = self //set delegate to textfile
}
func textFieldShouldReturn(_ textField: UITextField) -> Bool { //delegate method
textField.resignFirstResponder()
return true
}
Run Code Online (Sandbox Code Playgroud)
sij*_*nes 22
实现此功能
func textFieldShouldReturn(_ textField: UITextField) -> Bool { //delegate method
textField.resignFirstResponder()
return true
}
Run Code Online (Sandbox Code Playgroud)
对于委托,您可以使用Utilities窗格/ Connections Inspector/delegate进行设置,然后拖动到ViewController(故事板中的黄色按钮)
然后,您不需要以编程方式为每个文本字段设置委托
在 Swift 4.2 和 Xcode 10.1 中
//UITextField delegate method
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
if textField == TF1 {
textField.resignFirstResponder()//
TF2.becomeFirstResponder()//TF2 will respond immediately after TF1 resign.
} else if textField == TF2 {
textField.resignFirstResponder()
TF3.becomeFirstResponder()//TF3 will respond first
} else if textField == TF3 {
textField.resignFirstResponder()
}
return true
}
Run Code Online (Sandbox Code Playgroud)
您需要设置一个对象作为文本字段的委托。通常这将是文本字段所在的视图控制器。您不需要从任何其他类继承,或者严格来说,实现委托(但您可以实现 UITextFieldDelegate 以使事情更清晰一些。)
归档时间: |
|
查看次数: |
60627 次 |
最近记录: |