如何在里面定位我的 UIScrollView 和文本字段?
Posted
技术标签:
【中文标题】如何在里面定位我的 UIScrollView 和文本字段?【英文标题】:How to position my UIScrollView and Text Field inside? 【发布时间】:2011-09-18 15:19:13 【问题描述】:您可能会发现我的问题很愚蠢,但我是 Objective C 开发的新手,而且我仍在学习基本知识。我在我的应用程序中创建了一个表单,视图底部有一个文本字段。但是当这个字段获得焦点时,键盘会出现并且它会隐藏该字段,因此无法看到我正在输入的内容。我在网上找到了解决方案,尤其是使用 UIScrollView 来解决这个问题。
我现在遇到的问题是滚动视图本身。我移动了我的文本字段以用大约相同大小的 UIScrollView 替换它,然后我将我的字段拖放回来,但这次是作为 ScrollView 的子视图。但是在运行应用程序时,文本字段会上升,即它在界面构建器中的位置与我在运行应用程序时看到的不同。
关于我需要应用于 Scroll View 及其内容的大小以使其在这种情况下有用,我需要您的帮助。它应该具有与文本字段相同的大小吗?它应该与整个视图具有相同的大小吗?
感谢您的帮助,
斯蒂芬
【问题讨论】:
【参考方案1】:一个 UIScrollView 有两个“大小”。一个是它自己的框架(即它占用了多少空间)。以及滚动视图的 contentSize 有多大(即我们可以向左/向右/向上/向下滚动多远)
一般的想法是这样的:
您的 UIScrollView 具有键盘隐藏时可用屏幕空间的大小(例如 320 x 460 左右),它占用的空间与其内容一样多(假设您的内容也需要 320 x 460) ,滚动未启用。
一旦键盘显示,scrollView 将不得不缩小(比如 320 x 244),内容显然不会缩小,这样您现在就可以滚动了。
李>我可能会使用类似的东西
moveTextViewForKeyboard:(NSNotification*)aNotification up: (BOOL) up
触发scrollView的frameSize变化并启用滚动。
【讨论】:
以上是关于如何在里面定位我的 UIScrollView 和文本字段?的主要内容,如果未能解决你的问题,请参考以下文章