如何在IB中使用UIScrollView?

时间:2012-10-22 05:21:36

标签: iphone ios cocoa-touch uiview uiscrollview

  

可能重复:
  steps for creating UIScrollView with Interface Builder

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

i)如何在IB中添加控制而不是视图长度。(视图高度被禁用)。

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

3 个答案:

答案 0 :(得分:3)

分别为UIScrollView创建视图。

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

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

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

在设计视图后,拖动UIScrollView内的视图并将此视图的Y值设置为0.(当您在UIScrollView内拖动视图时,它似乎打乱了它的Y值)。

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

myscrollview.contentSize = myview.frame.size;

你已经完成了。

<强> - 编辑 -

Revealing XIB Controls

答案 1 :(得分:1)

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

  

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

  •   

    将你的UIView大小设置为100 * 50.

  •   

    现在增加nib中的scrollview hieght。

  •   
        

    添加你想要的东西

      
  •   
        

    现在检查您达到的尺寸。

      
  •   
        

    假设达到300

      
  •   
        

    因此,以编程方式设置内容大小为100 * 300或100 * 310

      
  •   
        

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

      

享受编程。

答案 2 :(得分:1)

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

For eg:

ScrollView Frame (0,0,320,460)

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

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