2

可能重复:
使用 Interface Builder 创建 UIScrollView 的步骤

我正在使用UIScrollView我的观点之一。我先添加了视图,然后是滚动视图,然后是滚动视图的一些控件,都是通过 IB 添加的。一切正常,直到页面适合,需要添加一些超出UIView长度的控件,我不确定在这种情况下如何在 IB 中添加控件,所以我以编程方式添加,但我的滚动视图没有滚动向下,它正在滚动到我的视图高度,我尝试设置新的视图高度,滚动视图的框架和内容大小没有任何效果,有人可以建议我现在该怎么做......

i) 如何在 IB 中添加超过其视图长度的控件。(视图高度被禁用)。

ii) 如何使我的滚动视图覆盖全视图。

4

3 回答 3

3

分别创建视图UIScrollView

从技术上讲,UIScrollView可以直接在其中进行控制。但这不是重点。您应该始终(如果使用IB)单独设计视图,然后将其放置在内部UIScrollView并将contentSize属性设置为该视图的大小。

因此,不要将内容直接放在UIScrollView主视图中,而是从IB笔尖上的对象库中拖动一个单独的视图(而不是在主视图上)。

将此视图的宽度设置为UIScrollView. 开始在其上放置控件并扩展视图高度。对于要放置的每个新控件,必须增加高度以保持该控件。您不应将控制置于 IB 的视图之外。(虽然你可以)。

设计完视图后,将视图拖入其中并将该视图UIScrollView的 Y 值设置为 0。(当您将视图拖入其中时,UIScrollView它似乎会扰乱它的 Y 值)。

现在以编程方式将 UIScrollView 的 contentSize 设置为此视图的大小。为此,您需要为IBOutlet刚刚创建的 UIView 创建一个。

myscrollview.contentSize = myview.frame.size;

你完成了。

-编辑-

揭示 XIB 控件

于 2012-10-22T05:45:16.987 回答
1

就是这么简单。按照我在下面给你的步骤,你会得到你想要的。

确定您希望滚动视图显示的实际大小。说它是100 * 5o。

  • 将您的 UIView 大小也设置为 100 * 50。

  • 现在增加 nib 中的滚动视图高度。

  • 添加你想要的

  • 现在检查您已达到的大小。

  • 假设它达到了 300

  • 因此,以编程方式设置您的 contentsize 100 * 300 或 100 * 310

  • 在笔尖设置滚动视图大小 100 * 50

享受编程。

于 2012-10-22T05:32:37.813 回答
1

这很简单,首先记住你的UIScrollView框架,然后UIScrollView通过减去 100(例如 0 到 -100)来改变框架的 Y 位置,然后将其添加到高度(460 到 560)。然后只需通过继续此步骤将控件添加到所需位置...

For eg:

ScrollView Frame (0,0,320,460)

after CHANGE:
(0,-100,320,560)

完成添加控件后,只需设置上一帧,如:(0,0,320,460)

于 2012-10-22T05:36:12.047 回答