Tag: uikeyboard

如何在触摸UITextField(swift)之外的任何位置时closures键盘?

我正在一个项目,有一个UIViewController,在视图控制器上有一个UIScrollView和UITextField滚动视图。 喜欢这个: 我试图解雇键盘,并在文本框中input一些文本后点击隐藏,然后点击文本框外的任何地方。 我试过下面的代码: override func viewDidLoad() { super.viewDidLoad() self.textField.delegate = self; } override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) { self.view.endEditing(true) } 当我点击滚动视图外时,它适用于我,但是当我点击滚动视图时,什么也没有发生,键盘也不会隐藏。 在文本区以外的任何地方轻击键盘时是否有任何方法解除键盘? 谢谢

iOS – 如何预加载键盘?

问题 在大多数iPhone应用程序中,第一次出现键盘时会有相当多的延迟(大概创build键盘需要相当多的时间,即使在iPhone 4上也是如此)。 大多数人似乎可以这样做。 我不是,它真的让我感到困惑 – 而且我的应用程序呈现的方式,用户会非常困惑,第一次点击文本字段时没有任何反应。 我所试过的 谷歌search带来了一个解决scheme – 不幸的是,这是无效的iOS 4( 见这里 )。 我不希望这个解决scheme很容易find,如果我可以立刻给我一个奖励。 如果有人想出一个解决scheme,我会非常兴奋。 所有的解决scheme需要做的就是加载键盘,而用户不知道。 所以.. 任何想法都表示赞赏。 完整的工作代码(对于iOS 4和5)是值得的(即使赏金必须迟到!)。 如果find了一个解决scheme,我打算创build一个自包含的“KeyboardPreloader”类,用户可以将其放入项目中,并用一行代码预加载键盘:)

如何获得键盘的高度? (迅速)

不同的iOS设备上的键盘的高度是不同的。 有谁知道我怎样才能以编程方式获得设备的键盘的高度? 谢谢。

InputAccessoryView停靠在底部

我试图达到类似苹果的消息应用程序的底部文本input栏的定位行为。 我尝试了很多方法,search高低,有许多类似的问题,但没有一个是令人满意的。 要指定: 在视图的底部有一个UIToolbar 当键盘出现并消失时,工具栏将跟随键盘 当键盘可见时,工具栏应该保持在键盘的顶部 当键盘被隐藏时,工具栏保持(“停放”)在视图的底部 build议的解决scheme: 响应键盘显示通知,手动设置工具栏的animation 此解决scheme不符合第二个要求的特殊情况( 工具栏将在键盘出现并消失时跟随键盘 ): 在iOS 7中,引入了UIScrollViewKeyboardDismissMode 。 它启用交互式手势来解除键盘。 随着用户翻过键盘的上边缘,键盘框架逐渐跟随。 这个解决scheme没有任何东西来适应这种行为,只是把工具栏留在它的animation位置。 另外,这个解决scheme也不能满足第三个要求的特殊情况( 当键盘可见时,工具栏应该保持在键盘顶部 ): 回转。 这个解决scheme需要额外的,烦人的无关代码(我们将在下一个build议的解决scheme中看到)旋转工具栏以响应设备旋转。 解决scheme的另一个问题是: 键盘高度。 有了这个解决scheme,工具栏并不被认为是键盘高度的一部分,所以必须编写额外的代码来支持内容的正确插入。 下一个build议的解 使用UIResponder的inputAccessoryView 这个解决scheme似乎是苹果打算支持这种行为的方式,因为它解决了手动设置工具栏的所有缺点。 但是这个解决scheme完全不符合第四个要求( 当键盘被隐藏时,工具栏停留在视图的底部(“停靠”) )。 看来解决scheme是使用UIResponder的inputAccessoryView ,但不知何故使inputAccessoryView不能移动到视图下方。 我正在寻找干净的代码来完成这一点。 在其他地方有精心的,几乎是高尚的尝试,但如前所述,他们不符合要求。 在我的具体情况下,我正在寻找使用UINavigationController的工具栏,这需要额外的问题,因为这不是UINavigationController行为。 无论如何,我愿意介绍一些哈克修补程序来实现这一点。

在iOS8中使用.focus()会在触摸后显示虚拟键盘和滚动页面

在iOS8之前,在input元素上使用Javascript .focus()方法似乎不起作用(虚拟键盘不会显示)。 在最新的iOS 8发行版之后,运行.focus()方法似乎对页面加载没有任何影响,但是一旦用户触摸了屏幕上的任何位置,虚拟键盘就会立即出现,并将页面滚动到焦点的元素上。 (当我使用HTML属性“自动对焦”时,这也是一个问题) 此更改已导致我的网站上的iOS8用户出现问题。 当用户尝试点击我的页面上的button时,突然滚动和键盘外观导致他们无意中单击屏幕上较低的button。 我假设这是在iOS8中的错误,而不是故意的function,我的问题是什么是解决这个问题的最有效的解决scheme? 每次使用.focus()方法时,是否必须检查navigator.userAgent以查看设备是否为iOS8?

UIKeyboardBoundsUserInfoKey已弃用,请改用什么?

我正在使用3.2 sdk的iPad应用程序。 我正在处理获得键盘大小,以防止我的文本字段隐藏在它后面。 我在Xcode中得到一个警告 – > UIKeyboardBoundsUserInfoKey被弃用,我应该使用什么,而不是得到这个警告?

更改“返回”键盘button的文本

如何将“返回”button的标准文本更改为其他内容? 我希望它是“添加”。

在Swift中从userInfo获取键盘大小

我一直试图添加一些代码来移动我的视图,当键盘出现,但是,我有问题试图将Objective-C的例子转换成Swift。 我已经取得了一些进展,但我陷入了一个特定的路线。 这些是我一直在关注的两个教程/问题: 如何向上移动UIViewController的内容,使用Swift键盘显示 http://www.ioscreator.com/tutorials/move-view-when-keyboard-appears 这是我现在的代码: override func viewWillAppear(animated: Bool) { NSNotificationCenter.defaultCenter().addObserver(self, selector: "keyboardWillShow:", name: UIKeyboardWillShowNotification, object: nil) NSNotificationCenter.defaultCenter().addObserver(self, selector: "keyboardWillHide:", name: UIKeyboardWillHideNotification, object: nil) } override func viewWillDisappear(animated: Bool) { NSNotificationCenter.defaultCenter().removeObserver(self) } func keyboardWillShow(notification: NSNotification) { var keyboardSize = notification.userInfo(valueForKey(UIKeyboardFrameBeginUserInfoKey)) UIEdgeInsets(top: 0, left: 0, bottom: keyboardSize.height, right: 0) let frame = self.budgetEntryView.frame frame.origin.y = […]

如何使iPhone上的返回键使键盘消失?

我有两个UITextFields (例如用户名和密码),但当按下键盘上的返回键时,我无法摆脱键盘。 我怎样才能做到这一点?

用Swift键盘移动视图

我有一个应用程序在视图的下半部分有一个文本字段。 这意味着,当我去键入文本字段的键盘覆盖文本字段。 如何在打字时向上移动视图,以便我可以看到正在键入的内容,然后在键盘消失时将其移回原始位置? 我到处寻找,但所有的解决scheme似乎是在Obj-C,我还不能完全转换。 任何帮助将不胜感激。