【发布时间】:2014-11-11 20:59:40
【问题描述】:
我是 iOS 开发的新手,并且已经使用 Objective-C 完成了教程,但现在我正在尝试 Swift。无论如何,我正在编写一个应用程序并有一个条形按钮项,它与另一个具有三个 UITextFields 的视图相连接。当用户在第一个 UITextField 内点击时,我希望键盘弹出。我使用一个动作来触发它并在 UITextField 上发出 becomeFirstResponder()。我也尝试在 ViewDidAppear 委托中执行此操作,并且键盘不会弹出。我只在使用 iPhone 4s 和运行 iOS 8.1 的 iPhone 6 的模拟器上尝试过这个,因为我还没有在设备上运行它的密钥(我很便宜)。
这是我的代码
import Foundation
import UIKit
class testViewController : UIViewController
{
@IBOutlet weak var text: UITextField!
@IBAction func textEditing(sender: AnyObject) {
if self.canResignFirstResponder() == true &&
text.window != nil &&
text.canBecomeFirstResponder() == true &&
text.becomeFirstResponder() == true
{
NSLog("Did set responder\n")
}
else
{
NSLog("Failed setting text as first responder")
}
}
@IBAction func doneAction(sender: AnyObject) {
self.dismissViewControllerAnimated(true, completion: nil)
}
override func viewWillAppear(animated: Bool) {
text.becomeFirstResponder()
}
}
在 viewDidAppear 中调用 becomeFirstResponder() 时,焦点确实会切换到第一个 UITextField。
任何想法。我确实搜索了许多帖子以找到答案,但他们的解决方案均无效。
【问题讨论】:
标签: ios iphone swift uitextfield