2014-04-18 40 views
0

我想手动设置子视图的框架。 所以我只是用CGRectMake创建一个CGRect并使用新的CGRect作为子视图的框架。问题是子视图不显示。
当我只使用父视图的view.bounds属性并将其作为框架分配给子视图时,所有内容都显示出来。
我也确保框架在显示区域。
当手动设置框架时UIView子视图不显示

frame = CGRectMake(0, 0, 100, 100); 
[self.view addSubview:[[UIView alloc] initWithFrame:frame]]; 
+0

你可以分享代码吗?另外我希望你已经将你的子视图添加到主UIView。 – user2071152

+0

是的,我将子视图添加到视图。 – FrediWeber

+0

子视图的框架可能不在父视图的范围内。这是在UIScrollView? –

回答

1

设置子视图的框架好办法是

subview.frame = CGRectMake(0, 0, 
     CGRectGetWidth(self.view.bounds), 
     CGRectGetHeight(self.view.bounds)); 

参考link

所有值小于CGRectGetWidth(self.view.bounds)& CGRectGetHeight(self.view.bounds )应该正常工作

1

您问题中的代码将创建一个您没有参考的视图。这意味着它没有背景颜色,内容或其他手段来查看它,并且您无法设置它。您已添加视图,但它是不可见的。

在将其添加为子视图之前,首先创建并配置视图,将其分配给局部变量。作为这种配置的一部分,给视图一个背景颜色或一些子视图。

+0

但我的父视图有黑色背景色。所以我应该至少看到一个空白区域。 – FrediWeber

+0

在iOS 7中,我认为默认的背景颜色是清晰的。 – jrturton