2011-07-28 62 views
1

新手問題。我用2個IBOutlet UIButton創建了一個名爲TestView的UIView。我想將這個視圖添加到最初啓動的視圖控制器。UIViewController的View中的addSubview沒有反應

的TestView的頭文件如下:

#import <UIKit/UIKit.h> 

@interface TestView : UIView { 
    IBOutlet UIButton *btn1; 
    IBOutlet UIButton *btn2; 
} 

@end 

我試圖通過向視圖添加到屏幕上:

TestView *view = [[TestView alloc] init]; 
[self.view addSubview:view]; 
[view release]; 

,但我沒有得到迴應。我如何將TestView添加到原始視圖?

p.s. TestView作爲廈門國際銀行也命名TestView.xib

環境:

  • 的Xcode 4
  • 的iOS 4.3.2

回答

2

u必須指定幀

幀意味着淵源考+大小

這裏淵源考( 0,0)

尺寸(200,200)

否則IOS不知道在哪裏畫這種觀點

TestView *view = [[TestView alloc] initWithFrame:CGRectMake(0, 0, 320, 460)]; 

[view setBackgroundColor:[UIColor greenColor]]; 

[view addSubview:btn1]; 

[view addSubview:btn2]; 
//here add whatever u want 

[self.view addSubview:view]; 

[view release]; 
+0

有趣。你的答案非常接近。當我執行你的代碼時,會出現綠色,但不是XIB中的內容。我錯過了什麼 ? – Raptor

+0

但是你是否這樣做,只需從IB拖動視圖然後添加btns.simple –

+0

我已經在IB中進行了佈局。但是,我怎樣才能把它加載? – Raptor

0

你不應該把它查看,因爲你的UIView的已經是一個有實例變量稱爲視圖。

您還可以創建這個使用界面生成器和鏈接元素的奧特萊斯,它會更容易

+0

這2個視圖變量的範圍是不同的。 self.view不等於查看。可以這樣命名。 – Raptor

+0

你是對的。可能發生的最糟糕的是你得到了一個警告,我猜想 – Lucas

+0

xCode沒有發出任何警告。 – Raptor