iPhone:如何实现滚动行为,类似于iPhone短信应用

时间:2010-12-25 14:17:20

标签: iphone uiscrollview

  

可能重复:
  How to make a UITextField move up when keyboard is present

我正在尝试实现与iPhone短信应用的“聊天喜欢”屏幕非常相似的内容。基本上,它有一个包含所有消息气泡的ScrollView,以及一个用于编写新消息的底部的TextField。

单击TextField时,键盘会出现,所有内容似乎都向上滚动,以便TextField在键盘上方而不会被键盘隐藏。

Apple的文档建议实现一个支持键盘外观的屏幕,使用ScrollView在键盘出现时调整大小(同时保持相同的内容)。在我的情况下,这意味着我需要一个ScrollView来包含整个聊天屏幕(消息和TextField),所以一切都会在键盘外观上整齐地调整大小。但是,消息已经在ScrollView中,并且不支持此行为。

我能看到的唯一选择是以某种方式实现我自己的改装行为,而不使用外部ScrollView。但是,对于滚动和调整消息气泡和TextField的动画大小来完美地工作,这似乎是一个很精细的编码。

我该怎么办?

1 个答案:

答案 0 :(得分:2)

滚动视图调整大小有效地手动完成,检查键盘的高度并缩短滚动视图的高度。

在短信屏幕的情况下,文本字段不在滚动视图中,因此您只需在包含发布位的uiview上方放置一个滚动视图。当键盘出现时,您将正常缩小滚动视图,并将uiview向上滑动相同的键盘高度。

关于缩小滚动视图并没有什么神奇之处,正如Apple建议的那样:移动视图同样容易和明智。