2014-04-18 85 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