我有3個按鈕的主視圖。點擊任何按鈕添加一個SubView。的iOS - 通過發送器(按鈕)名稱addSubview
的按鈕有不同的稱謂,並都連接到IBAction爲「SWITCHVIEW」
的「SWITCHVIEW」代碼如下。
- (IBAction)switchView:(id)sender{
secondView *myViewController = [[secondView alloc] initWithNibName:@"secondView" bundle:nil];
[self.view addSubview:myViewController.view];
}
「secondView」加載正確,一切正常。
問題是我希望能夠知道哪個按鈕是發件人。
我不想創建3子視圖,每個按鈕。代碼和XIB是絕對相同>
唯一的差別將是我想設置在所述第二視圖中的變量(viewDidLoad方法),這取決於誰是發件人(哪個按鈕被點擊)
這可能嗎?或者我需要創建3個子視圖 - 每個按鈕一個?
非常感謝您的幫助!
THANKs,但也許我沒有正確解釋問題。我知道如何讓發送者進入switchView方法。 問題在此之後。 switchView方法啓動子視圖。這個子視圖有自己的secondView.XIB,secondView.h和secondView.m文件。 裏面secondView.m((void)viewDidLoad方法)我想找出哪個按鈕啓動secondView.XIB – user885483
也許這是不可能的。解決方法是將發件人標記存儲在switchView方法內的「全局變量」中。 (我可以將它存儲爲NSUserDefaults中的一個鍵)。然後在secondView子視圖中檢索它。 – user885483
好的,理解。那麼我的方法是在你的 - (IBAction)switchView:(id)sender中調用新的視圖控制器;方法並將sender.tag作爲(id)initWith ...調用的屬性傳遞。 例如 MyViewController * view = [[MyViewController alloc] initWithSenderTag:button.tag]; 但是,您仍然必須將button.tag作爲全局變量存儲在您的MyViewController中,以在您的 - (void)viewDidLoad;方法。 – Markus