标签: uikeyboard

当键盘出现时 - 如何开始编辑时,如何让UITextField向上移动?

使用iOS SDK:

我有一个UIView带有UITextField键盘的s.我需要它能够:

  1. UIScrollView一旦键盘出现,允许滚动内容以查看其他文本字段

  2. 自动"跳跃"(通过向上滚动)或缩短

我知道我需要一个UIScrollView.我已经尝试将我的类更改UIView为a UIScrollView但我仍然无法向上或向下滚动文本框.

我需要a UIView和a UIScrollView吗?一个进去另一个吗?

需要实现什么才能自动滚动到活动文本字段?

理想情况下,尽可能多的组件设置将在Interface Builder中完成.我只想编写需要它的代码.

注意:我正在使用的UIView(或UIScrollView)是由tabbar(UITabBar)启动的,它需要正常运行.


编辑:我正在添加滚动条,仅用于键盘出现时.即使它不需要,我觉得它提供了更好的界面,因为用户可以滚动和更改文本框.

我已经让它工作,我改变UIScrollView了键盘上下的框架大小.我只是使用:

-(void)textFieldDidBeginEditing:(UITextField *)textField { 
    //Keyboard becomes visible
    scrollView.frame = CGRectMake(scrollView.frame.origin.x, 
                     scrollView.frame.origin.y, 
scrollView.frame.size.width,
scrollView.frame.size.height - 215 + 50);   //resize
}

-(void)textFieldDidEndEditing:(UITextField *)textField {
   //keyboard will hide
    scrollView.frame = CGRectMake(scrollView.frame.origin.x, 
       scrollView.frame.origin.y, 
     scrollView.frame.size.width,
      scrollView.frame.size.height + 215 - 50); //resize
}
Run Code Online (Sandbox Code Playgroud)

但是,这不会自动"向上移动"或将可见区域中的下部文本字段居中,这是我真正想要的.

objective-c uiscrollview uitextfield uikeyboard ios

1674
推荐指数
39
解决办法
61万
查看次数

使用Swift触摸任何地方关闭iOS键盘

我一直在寻找这个,但我似乎无法找到它.我知道如何解雇键盘,Objective-C但我不知道如何使用Swift?有人知道吗?

uikeyboard ios swift

376
推荐指数
22
解决办法
33万
查看次数

使用Swift使用键盘移动视图

我有一个应用程序,在视图的下半部分有一个文本字段.这意味着当我输入文本字段时键盘覆盖文本字段.

如何在打字时向上移动视图以便我可以看到我正在键入的内容,然后在键盘消失时将其移回原来的位置?

我到处都看,但所有解决方案似乎都在Obj-C中,我还没有完全转换.

任何帮助将不胜感激.

uikit uikeyboard nsnotificationcenter ios swift

257
推荐指数
15
解决办法
17万
查看次数

在编辑UITextField时如何关闭键盘

我知道当我想解开键盘时,我需要告诉我的UITextField辞职第一响应者,但我不知道如何知道用户何时按下键盘上的"完成"键.我可以留意通知吗?

iphone cocoa-touch uitextfield uikeyboard ios

180
推荐指数
8
解决办法
19万
查看次数

以编程方式更改UITextField键盘类型

是否可以以编程方式更改uitextfield的键盘类型,以便这样的事情可能:

if(user is prompted for numeric input only)
    [textField setKeyboardType: @"Number Pad"];

if(user is prompted for alphanumeric input)
    [textField setKeyboardType: @"Default"];
Run Code Online (Sandbox Code Playgroud)

iphone uitextfield uikeyboard ios

174
推荐指数
7
解决办法
15万
查看次数

如何在iPhone上制作返回键使键盘消失?

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

iphone uitextfield uikeyboard ios

108
推荐指数
5
解决办法
12万
查看次数

通过触摸UITableView的背景来关闭键盘

我有一个UITableViewUITextFieldS作为细胞.当UITableView触摸背景时,我想解除键盘.我试图通过创建一个UIButton大小UITableView并将其放在后面来做到这一点UITableView.唯一的问题是,UIButton即使触摸在UITableView上,也能捕获所有触摸.我究竟做错了什么?

谢谢!

uitableview uikeyboard ios

102
推荐指数
11
解决办法
8万
查看次数

如何获得键盘的高度?

不同iOS设备上键盘的高度不同.有人知道如何以编程方式获得设备键盘的高度吗?

uikeyboard ios swift

91
推荐指数
7
解决办法
9万
查看次数

仅允许UITextField输入的Numbers

iPad没有像iPhone/iPod那样的"Numpad"键盘.

我想找到如何限制用户的键盘只接受值0到9.

我会想象使用UITextField的"shouldChangeCharactersInRange",但我不知道实现它的最佳方法.

cocoa-touch uitextfield uikeyboard ipad ios

78
推荐指数
7
解决办法
8万
查看次数

从Swift中的userInfo获取键盘大小

我一直在尝试添加一些代码来在键盘出现时移动我的视图,但是,我在尝试将Objective-C示例转换为Swift时遇到了问题.我取得了一些进展,但我被困在一条特定的路线上.

这些是我一直关注的两个教程/问题:

当Keypad使用Swift出现时,如何向上移动UIViewController的内容 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 = frame.origin.y - keyboardSize
    self.budgetEntryView.frame = frame
}

func keyboardWillHide(notification: NSNotification) {
    //
}
Run Code Online (Sandbox Code Playgroud)

目前,我在这一行收到错误:

var keyboardSize = notification.userInfo(valueForKey(UIKeyboardFrameBeginUserInfoKey))
Run Code Online (Sandbox Code Playgroud)

如果有人能让我知道这行代码应该是什么,我应该设法自己弄清楚其余部分.

uikeyboard swift

78
推荐指数
3
解决办法
6万
查看次数