我需要创建一个长的 uiscrollview ,其中嵌入了一堆子视图。但是,当我将 uiscrollview 添加到控制器时,Storyboard 给我的工作区域太小。有没有办法先在 uiscrollview 上工作,然后使用情节提要将其添加到控制器中?
就像本教程页面上的 #2(它不是故事板版本):http ://agilewarrior.wordpress.com/2012/05/18/uiscrollview-examples/
版本是 4.5.2。
谢谢!
我需要创建一个长的 uiscrollview ,其中嵌入了一堆子视图。但是,当我将 uiscrollview 添加到控制器时,Storyboard 给我的工作区域太小。有没有办法先在 uiscrollview 上工作,然后使用情节提要将其添加到控制器中?
就像本教程页面上的 #2(它不是故事板版本):http ://agilewarrior.wordpress.com/2012/05/18/uiscrollview-examples/
版本是 4.5.2。
谢谢!
使用故事板,您无法将控件拖出场景,但您可以通过更改场景本身的模拟指标来实现您想要的效果。因此,选择视图控制器本身并单击“属性检查器”,并将模拟大小度量更改为自由格式,如下所示:
然后单击该场景的主视图并为此打开“尺寸检查器”,并将尺寸更改为足以工作的尺寸:
您的故事板看起来很奇怪,但您现在可以添加/更改您的滚动视图,使其足够大以显示您想要的所有内容。运行应用程序后(假设您已正确设置自动布局约束或非自动布局自动调整大小的蒙版),它将正常工作:
奇怪的是,我发现当不使用自动布局时,我必须以编程方式更改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);
}