- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我遇到了一个我一直无法解决的奇怪问题。
我在 TableView 的 TableViewCell 中有一个文本字段。当我点击单元格时,会出现一个键盘。我有以下代码来关闭所述键盘:
-(void) scrollViewDidScroll:(UIScrollView *)scrollView {
[self findAndResignFirstResonder:self.view];
}
问题是,当 TextField 低于键盘顶部的位置时,TableView 会滚动以使其可见。这反过来会触发 scrollViewDidScroll 方法,然后关闭键盘。
最佳答案
有道理——委托(delegate)方法 scrollViewDidScroll:
每次 tableview 滚动时被调用。因此,如果您的 scrollViewDidScroll:
关闭键盘,那么当应用自动调整(滚动)tableview 内容偏移量以考虑键盘时,它会自行关闭。
您将希望以不同方式实现键盘关闭。对于一种解决方案,使您的 UITableViewController 成为 UITextFieldDelegate
。然后,实现 textFieldShouldReturn:
,您可以在其中调用 [textField resignFirstResponder]
或 [self.view endEditing:YES]
(参见 Managing the Keyboard (Apple)更多细节)。
我想您正在寻找的效果是,如果用户触摸 UITextField 或键盘之外的任何地方,键盘将被关闭。为此,我会考虑实现 touchesBegan:
(如 Techotopia 中所述)或使用 UITapGestureRecognizer
(如 this post 中所述,只需确保包含 gestureRecognizer.cancelsTouchesInView = NO;
因为它建议在页面的下方)。
关于ios - UIKeyboard 出现触发滚动事件,然后关闭键盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27746739/
我想将“返回”按钮更改为“前往”按钮。有什么建议吗?? 谢谢 最佳答案 *yourtextfieldname*.returnKeyType=UIReturnKeyGo; 关于iphone - 如何在
如果任何 UIKeyboard 在屏幕上处于事件状态(打开),我想禁用表格 View 单元格上的一些按钮以防止被单击。 我可以通过将 bool 值放入文本开始编辑和完成编辑来做到这一点,但也许有一个更
我想知道是否有人有聪明的方法来检查对象是否属于 UIKeyboard 类型?我不能使用 UIKeyboardDidShow 通知,因为我正在使用它们来调出键盘以外的其他 inputView 类,所以我
有谁知道按键的大小或如何在 iPhone 和 iPad 的屏幕键盘中找到按键的大小?我正在为我的应用程序制作一些自定义键盘,我希望它们看起来非常像原始键盘。或者,如果您知道一种仅更改现有键盘上的键的方
这个问题在这里已经有了答案: Display keyboard without animation (7 个答案) 关闭 9 年前。 在 objective-c 中,当您在 UITextField
这个问题已经有答案了: How can I programmatically check whether a keyboard is present in iOS app? (21 个回答) 已关闭
textfield.returnKeyTYpe = UIReturnKeyDone 因此,上面的内容使键盘上的“返回”按钮显示“完成”。我在 UIKeyBoard 上看到过带有蓝色按钮的应用程序。这足
在我的iPhone应用程序中,我想在显示uikeyboard时关闭大写锁定键。 有可能这样做吗? 最佳答案 任何符合UITextInputTraitsProtocol的UI控件都具有称为autocap
我需要知道当前正在显示的 uikeyboard 的类型。 有什么办法可以找到这个吗?我搜索了这个,但仍然没有找到任何解决方案。 请告诉我 最佳答案 如果您使用 UITextfield,您可以使用“ke
因为我有一个复杂的 View 层次结构,所以我使用 CGAffineTransformMakeRotation 手动处理旋转。 一切都在和谐地旋转,状态栏、导航栏等。唯一的问题是,如果键盘在旋转之前在
我的 ui 中有几个 uitextfields,其中键盘会与屏幕底部的几个 uitextfields 重叠,为了处理这个我已经实现了 UIKeyboard 通知,比如 - (void)keyboard
我有一个 UITextView,键盘可以在其中输入值。但是,如果您清除文本值(即 uitextview.text = @""),键盘的状态不会重置为小写字母键盘。 也就是说,如果我正在输入“hello
我有一个 UItableViewCell 的子类 当用户触摸一个 CELL 时,我会调用重新加载,如下所示: [_tableView reloadRowsAtIndexPaths:[NSArray a
我有一个当前位于 UITableViewCell 中的 UITextField,当您选择 UITextField 时,UIkeyboard 会自动出现。 我想知道如何在按下返回键时忽略返回键。有一个我
我试图在不使用UITextView和UITextField的情况下显示UIKeyboard。我按照下面的源代码在我的应用程序中显示键盘。 UIKeyboard *keyboard = [[[UIKe
我在 View 中有一个文本字段和 TextView 。我想在编辑 TextView 中的文本时在键盘上显示工具栏,但我不想在编辑文本字段时显示工具栏。我正在使用下面的代码: - (BOOL)text
我想知道您是否可以通过编程方式调用 UIkeyboard 的返回(回车)键。我创建了一个将缓存值粘贴到 UITextField 的粘贴方法,然后我想做的是转到下一个 UITextField。 如果我在
这个问题在这里已经有了答案: iMessage Style Receding Keyboard in an iOS App (3 个答案) 关闭 8 年前。
我目前正在使用 keyboardWillShow 和 keyboardWillHide 通知为用户界面元素设置动画,以响应屏幕上出现的 UIKeyboard。 我正在调用一个方法 - (void) a
我遇到的问题是设备旋转后键盘高度: guard let keyboardSize = sender.userInfo?[UIKeyboardFrameBeginUserInfoKey] as? NSV
我是一名优秀的程序员,十分优秀!