objective-c - 将文本字段保持在键盘上方

标签 objective-c cocoa-touch ios6

我想弄清楚如何在 IOS 中保留关于键盘的文本字段。我在 stackoverflow 上尝试了不同的代码,但没有一个能完美运行。就像文本字段在键盘上方并且我单击该字段一样,它不会向上移动。如何始终在键盘上方显示文本字段?谢谢!

最佳答案

lakesh 的链接是一个很好的资源。

基本上有两种方法可以处理这种情况。

方法一:

您可以将您的 View 封装在 UIScrollView 中,当键盘弹出时,您应该将整个 View 向上滚动相同的距离以考虑键盘占用的空间。

方法二:

在当前的 UIViewController 中获取最终父级 UIView 并更改其框架(最好使用动画),使其离开屏幕顶部并为键盘。

作为一般指南,方法 1 是首选方法。这是因为您仍然可以通过向上滚动到 UIScrollView 中“更高处”的 UI(考虑比方说,具有多个字段的表单)。在方法 2 中,如果不先关闭键盘,用户将无法返回到 View 中的其他元素。当然,您可能在接受键盘输入时不需要看到 View 的其余部分,但这取决于您。

关于objective-c - 将文本字段保持在键盘上方,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14372167/

相关文章:

ios - 错误域=NSURLErrorDomain 代码=-1017 "cannot parse response"

objective-c - 高级 iPad 编程

iphone - 如何在 UINavigationBar 下面添加 View

iphone - UITableView 中的 moveRowAtIndexPath 导致动画不正确

ios - Facebook iOS SDK v 3.1.1 遇到问题

iphone - 通用应用程序加载不同的 View

iphone - 如何在用户滚动 TextView 后启用按钮

iphone - 如何将 "hang on"转换为直播中 iPhone 摄像头输入的两个不同点?

iOS 11 : "Unable to simultaneously satisfy constraints"

ios - 发送到 destinationViewController 的无法识别的选择器