1

我需要创建一个长的 uiscrollview ,其中嵌入了一堆子视图。但是,当我将 uiscrollview 添加到控制器时,Storyboard 给我的工作区域太小。有没有办法先在 uiscrollview 上工作,然后使用情节提要将其添加到控制器中?

就像本教程页面上的 #2(它不是故事板版本):http ://agilewarrior.wordpress.com/2012/05/18/uiscrollview-examples/

版本是 4.5.2。

谢谢!

4

1 回答 1

4

使用故事板,您无法将控件拖出场景,但您可以通过更改场景本身的模拟指标来实现您想要的效果。因此,选择视图控制器本身并单击“属性检查器”,并将模拟大小度量更改为自由格式,如下所示:

在此处输入图像描述

然后单击该场景的主视图并为此打开“尺寸检查器”,并将尺寸更改为足以工作的尺寸:

在此处输入图像描述

您的故事板看起来很奇怪,但您现在可以添加/更改您的滚动视图,使其足够大以显示您想要的所有内容。运行应用程序后(假设您已正确设置自动布局约束或非自动布局自动调整大小的蒙版),它将正常工作:

在此处输入图像描述

奇怪的是,我发现当不使用自动布局时,我必须以编程方式更改contentSize滚动视图,以确保它对于所有控件都足够大:

- (void)adjustContentSizeForScrollView:(UIScrollView *)scrollView
{
    CGFloat height = 0.0;

    for (UIView *subview in scrollView.subviews)
    {
        CGFloat viewBottom = subview.frame.origin.y + subview.frame.size.height;
        if (viewBottom > height)
            height = viewBottom;
    }

    scrollView.contentSize = CGSizeMake(scrollView.contentSize.width, height);
}
于 2013-01-14T20:08:10.627 回答