为什么视图没有填充滚动视图的整个框架?

时间:2011-12-12 17:33:25

标签: ios uiview uiscrollview uistoryboard

谢谢你的阅读。感谢您分享的任何见解。

我有滚动视图。我称之为myTopScrollView

此滚动视图的宽度为1024 pts,高度为340 pts。

它绘制了另一个视图控制器的子视图,我从对象库拖入了Storyboard。我将此视图控制器标识为topScrollViewPage1

我转到尺寸检查器指定宽度为1024 pts,高度为340 pts的Frame Rectangle(参见Figure 1

// Point to the main storyboard.
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil]; 

// Point to the first scroll view for myTopScrollView.
UIViewController *myViewController = [storyboard instantiateViewControllerWithIdentifier:@"topScrollViewPage1"];

// Add the subview to the scroll view.
[self.myTopScrollView addSubview:myViewController.view];

// Define the content size - width and height.
self.myTopScrollView.contentSize = CGSizeMake(1024, 340);

// Add the scroll view to the view.
[self.view addSubview:self.myTopScrollView];

现在,它成功编译,然后加载。

但是,红色背景的子视图不会填充滚动视图框的整个宽度,即使用于标记子视图四个角的四个按钮也是我将它们放在Storyboard中的确切位置(参见{ {3}})。

问题是为什么?

有趣的是,子视图的红色背景停在768点(纵向方向的iPad的宽度)。

这让我想到这可能是UIViewUIViewController类中绘图属性的默认值。我还在检查,但还没有。

您知道视图背景未填充滚动视图的整个宽度的原因(即使我将滚动视图的contentSiz e指定为1024 pts的整个宽度)?

1 个答案:

答案 0 :(得分:0)

好的,答案与标识符“topScrollViewPage1”的视图控制器有关。

此视图控制器中视图的“Frame Rectangle”大小仍为默认值。

要更改视图的大小,请突出显示视图控制器,转到“属性检查器”,在“大小”下,将“推断”更改为“自由形式”。

这将允许您更改此视图控制器内视图的帧大小。