以下的UIAlertViewDelegate
協議規定:UIAlertView中的委託方法alertViewCancel:不會被調用
// Called when we cancel a view (eg. the user clicks the Home button). This is not called when the user clicks the cancel button.
// If not defined in the delegate, we simulate a click in the cancel button
- (void)alertViewCancel:(UIAlertView *)alertView;
不過,我有一個顯示UIAlertView
,當我打到現在在模擬器主頁按鈕,該方法alertViewCancel:
不會被調用。請注意,當我觸摸AlertView上的一個按鈕時,alertView:clickedButtonAtIndex:
委託方法會被調用,以便代理正確連接。
這是蘋果方面的缺陷,還是我,或者是模擬器?
編輯:
我目前通過聽取UIApplicationWillResignActiveNotification
通知,我做以下駁回AlertView解決此問題:
[self.currentAlert dismissWithClickedButtonIndex:-1 animated:NO];
[self.currentAlert release];
self.currentAlert = nil;
你正在做點clickButtonAtIndex會覆蓋alertViewCancel的任何調用嗎? – carbonbasednerd 2012-01-17 13:43:08
您可以顯示創建警報視圖的代碼嗎? – rishi 2012-01-17 13:43:40
@carbonbasednerd好問題,但是當我點擊HOME按鈕時,alertView:clickedButtonAtIndex:方法不會被調用。我通過聽'UIApplicationWillResignActiveNotification'通知來解決這個問題(我用這一點信息更新了我的帖子) – Besi 2012-01-17 13:47:43