【发布时间】:2017-01-24 02:04:58
【问题描述】:
我对 Swift 和 Xcode 还很陌生,所以请多多包涵。
我有一个 UIViewController 用于创建帐户屏幕,其中有 4 个 UITextFields。当键盘出现时,前 3 个可以很好地编辑,但最后一个需要按下 UIView 以便可见。
我已经安装了 Cocoapod IHKeyboardAvoiding,它工作得很好,只有当我点击前三个 UITextfields 时,屏幕才会向上推。其伪代码是:'当点击确认密码文本字段时,应该发生键盘推送。当点击所有其他文本字段时,不应发生键盘按下。'
我不确定如何将伪代码实现为实际的 swift 代码。我为确认密码文本字段创建了一个 IBAction,并在其中实现了键盘推送代码。这可行,但只要点击确认密码文本字段,然后点击另一个文本字段,键盘推送就会应用于所有文本字段。我认为需要在 viewDidLoad 中调用该函数,但在 viewDidLoad 中不能有 IBAction 函数。
调用函数的最佳方式是什么?
import UIKit
import IHKeyboardAvoiding
class LoginViewController: UIViewController {
@IBOutlet var avoidingView: UIView!
@IBAction func confirmPassword(_ sender: UITextField) {
KeyboardAvoiding.avoidingView = self.avoidingView
}
override func viewDidLoad() {
super.viewDidLoad()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
【问题讨论】:
-
在我看来,你不需要为这么简单的事情使用 cocoapod。在没有 cocoapod 的情况下,它实际上是 2 行代码。如果你有兴趣,我可以告诉你怎么做。
-
当然@DevKyle 我很想知道你会如何处理这个
标签: ios swift uitextfield ibaction