2012-02-07 43 views

回答

2

如果你想一個UIView添加爲子視圖你做另一種觀點認爲:[view addSubview:subview]。如果你想創建一個方法採取視圖,你可以寫這樣的:

- (void)nameOfMethodThatYouWantToSendTheViewTo:(UIView *)view { 

//do seomthing with the view 

} 
5
- (void) aMethodWithView:(UIView *)theView{ 
    theView.setSomething = somethong; 
} 
1

那麼你想創建一個視圖,並傳遞一些參數進行初始化,如果我理解正確的看法。

我認爲你可以在視圖控制器中創建一個自定義-initWithNibName(),如果必須在顯示視圖之前完成該操作。所以它看起來像

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil withParametherA: (ClassA *)a andParameterB: (ClassB *)b andParameterC: (ClassC *)c 
{ 
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; 
    if (self) { 
    // Custom initialization 
    // Use value of a, b, c to do something 
    } 
    return self; 


} 

如果不同的視圖控制器之間你想傳遞值,說你想帶參數的觀點是B,你從A在B的控制器類填充它。然後,可以使場你喜歡成爲屬性,那麼在A中,你可以創建B的控制器類,設置屬性,然後填充視圖。

如果您想使用委派,您可以將A設置爲B的委託,因此在B中,您可以發送一條消息來獲取您喜歡的參數值,即-ViewDidLoad()或您喜歡的任何方法。

希望這會有所幫助。

+0

非常有幫助謝謝。我對此很陌生,因此我現在要使用上面更簡單的答案,但我很可能會回到這裏。 – SirYakalot 2012-02-07 17:19:14

+0

SirYakalot沒問題 – 2012-02-07 18:36:50

相關問題