2010-01-05 42 views
0

我已經創建了一個UIView,並可以通過使用[self.topView addSubview:image]添加內容。現在我正在導入一個類來創建一個有一堆按鈕的日曆。我可以把它放在同一個類中,並說[self.topView addSubview:button],但如果它在另一個類中,我如何將它添加到擁有它的類的子視圖?希望這是有道理的...將項目添加到外部類別的子視圖

回答

1

你需要在你的外部類中引用擁有該視圖的類(稱之爲「所有者類」),並且可能在你的所有者類中編寫一個方法來添加一個傳遞類鑑於你選擇的子視圖。沿線的東西:

- (void) insertSubview:(UIView*)newView { 
    if (newView) [self.topView addSubview:newView]; 
} 

設置參考可以通過多種方式完成,所以我會把那一個留給你。

+0

你是說我需要將子視圖傳遞給外部類嗎? – Rudiger 2010-01-05 05:55:32

+0

你可以將子視圖傳遞給其他類,但這會破壞封裝,這是不好的做法。我建議你向擁有子視圖的類添加一個方法,並使用它來允許所有者類執行必要的工作,以便將視圖添加到層​​次結構中。 – rpj 2010-01-05 05:58:53