你可能会发现我的问题很愚蠢,但我是 Objective C 开发的新手,而且我仍在学习基本的东西。我在我的应用程序中制作了一个表单,在 View 底部有一个文本字段。但是,当该字段获得焦点时,键盘会显示并隐藏该字段,因此无法看到我正在输入的内容。我在网上找到了相关的解决方案,特别是使用 UIScrollView 来解决该问题。
我现在遇到的问题是 ScrollView 本身。我移动了文本字段,将其替换为大约相同大小的 UIScrollView,然后将字段拖回原处,但这次作为 ScrollView 的 subview 。但是,当运行应用程序时,文本字段会上升,也就是说它在界面生成器中的位置与我在运行应用程序时看到的不同。
我需要您帮助了解我需要应用于 ScrollView 及其内容的大小,以使其在这种情况下有用。它应该具有与文本字段完全相同的大小吗?它应该与整个 View 具有相同的大小吗?
感谢您的帮助,
史蒂芬
最佳答案
UIScrollView 有两种“尺寸”。一个是它自己的框架(即它占用了多少空间)。以及scrollview的contentSize有多大(即我们可以向左/向右/向上/向下滚动多远)
总体思路是这样的:
您的 UIScrollView 具有隐藏键盘时可用屏幕空间的大小(例如 320 x 460 左右),它占用的空间与其内容一样多(假设您的内容也需要 320 x 460) ,未启用滚动。
一旦键盘显示,scrollView将必须缩小(比如320 x 244),内容显然不会缩小,这样你现在就可以滚动了。
<
我可能会使用类似的东西
moveTextViewForKeyboard:(NSNotification*)aNotification up: (BOOL) up
触发scrollView的frameSize变化并启用滚动。
关于iphone - 如何将 UIScrollView 和文本字段放置在其中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7462403/