我使用UIAlerView子類創建自定義登錄頁面。現在當我點擊按鈕時,它打開了UIAlertView我想基於哪個按鈕被按下來改變主視圖。UIAlertView的子類被解僱後運行方法
但是由於UIAlerView的所有實現都在另一個類中,儘管我改變了視圖,但它並沒有保留,因爲該類變量沒有得到它的值。
任何人都可以幫助我嗎?如果需要,我可以發佈代碼。
謝謝 安基塔
我使用UIAlerView子類創建自定義登錄頁面。現在當我點擊按鈕時,它打開了UIAlertView我想基於哪個按鈕被按下來改變主視圖。UIAlertView的子類被解僱後運行方法
但是由於UIAlerView的所有實現都在另一個類中,儘管我改變了視圖,但它並沒有保留,因爲該類變量沒有得到它的值。
任何人都可以幫助我嗎?如果需要,我可以發佈代碼。
謝謝 安基塔
您可以使用自定義的init方法像下面alertView和_sender存儲在全局或類變量。像
id sender; - (id)initWithSender:(id)_sender { self = [super init]; if (self) { sender=_sender; } return self; }
從RootVC/bgview初始化alertView如下定義名爲 在rootvc
-(void) alertIndexSelected:(NSInterger) index;/方法的主視圖。{
//change the backgound view based on button selected }
alertViewobj =[[alertView alloc] initWithSender:self];當按鈕被選中上alertview調用下面的方法
,這將通知您rootvc關於其被壓警覺的指數。使用以下alertview委託。
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex { [sender alertIndexSelected: buttonIndex]; }
如果您打算使用委託方法,那麼我認爲您需要引用其中一些鏈接。
How to use custom delegates in Objective-C
How do I create delegates in Objective-C?
http://iosdevelopertips.com/objective-c/the-basics-of-protocols-and-delegates.html
我希望這將有助於您瞭解代表很大。
您需要使用委託方法在兩個類之間進行通信。 – Robin 2011-02-25 05:17:38
請發佈您的代碼 – visakh7 2011-02-25 05:18:09
@Robin:你能告訴我如何在兩個類之間使用委託方法嗎? – Anks 2011-03-15 09:32:11