ios - UITextField becomeFirstReponder 不工作

标签 ios iphone swift uitextfield

我是 iOS 开发新手,已经完成了使用 Objective-C 的教程,但现在正在尝试 Swift。不管怎样,我正在编写一个应用程序,并且有一个栏按钮项目,该项目可以转到另一个 View ,该 View 上有三个 UITextFields。当用户点击第一个 UITextField 内部时,我希望弹出键盘。我使用一个操作来触发此操作,并在 UITextField 上发出 beginResponder() 。我也尝试在 ViewDidAppear 委托(delegate)中执行此操作,但键盘不会弹出。我只在使用 iPhone 4s 和运行 iOS 8.1 的 iPhone 6 的模拟器上尝试过这个,因为我还没有在设备上运行它的 key (我很便宜)。

这是我的代码

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。

任何想法。我确实搜索了很多帖子来找到答案,但他们的解决方案都不起作用。

最佳答案

如果您使用物理键盘打字,您的输入是否会如您预期的那样进入文本字段?在iOS8模拟器中,键盘默认是隐藏的。请参阅 iOS 模拟器上的 Hardware -> Keyboard 设置。

关于ios - UITextField becomeFirstReponder 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26874472/

相关文章:

ios - Swift:调整 AVPlayerLayer 的大小以匹配其父容器的边界

iOS:ImageView 填充图片

ios - 我已经创建了 UIButton 方法。现在我想为操作按钮设置角半径。我怎样才能添加这个?

iphone - NSNotificationCenter 捕获并跟踪所有 NSNotification

swift - 字典为 nil : AnyObject does not have a member named 'Key'

ios - Testflight 不允许使用 iOS 8.1 SDK 编译的 iOS 7.1 应用程序安装在 iOS 7.1.2 iPhone 上

ios - decoder.decode 将有效的 iso8601 日期设置为 nil

iphone uitextfield - 焦点为空(简单吧?)

ios - 在后台模式下关闭我的应用程序后将下载简历

node.js - Socket.IO:Swift 客户端连接到 Node.js 服务器但服务器不会注册连接?