【发布时间】:2011-05-30 15:38:42
【问题描述】:
可能重复:
How to make a UITextField move up when keyboard is present
我正在尝试实现与 iPhone 短信应用的“类似聊天”屏幕非常相似的功能。基本上,它有一个包含所有消息气泡的 ScrollView,底部有一个 TextField,用于编写新消息。
当点击 TextField 时,键盘会出现,并且所有内容似乎都向上滚动,因此 TextField 位于键盘上方而不被它隐藏。
Apple 的文档建议使用 ScrollView 在键盘出现时调整大小(同时保持相同的内容大小)来实现支持键盘外观的屏幕。就我而言,这意味着我需要一个 ScrollView 来包含整个聊天屏幕(消息和 TextField),因此所有内容都会在键盘外观上整齐地调整大小。但是,消息已经在 ScrollView 中,不支持这种行为。
我能看到的唯一选择是以某种方式自行实现改装行为,而不使用外部 ScrollView。但这似乎需要对消息气泡和 TextField 的滚动和调整大小动画进行大量精细编码才能完美运行。
我该怎么办?
【问题讨论】:
-
您可能想在这里查看答案:stackoverflow.com/questions/1126726/…
-
这是与那个答案不同的情况。在这种情况下,问题是关于确保在调整滚动视图大小时,滚动视图内的特定文本字段保持可见。在这种情况下,与原生 SMS 应用程序一样,文本字段应该不滚动,而是保持在滚动区域下方。由于使用了滚动视图和文本字段以及由于键盘外观而调整大小,这两个完全不同的问题听起来很相似。
-
所以您也想调整文本字段(也称为气泡聊天)的大小?有点“缩小”整个视图以适应屏幕?
标签: iphone uiscrollview