[英]How to disable navigation bar back button when some activity is loading in iOS?
我有兩個ViewController。
在第二個視圖控制器中,當我單擊搜索按鈕動作時(活動開始,例如Web服務正在執行)。從Web服務獲取數據后,它將顯示UIAlertview。
我的問題是,當我按下搜索按鈕(活動開始)時,現在我單擊了導航欄上的后退按鈕。 現在,我在上一個視圖(第一個視圖控制器)上。 我現在有了UIAlertview的搜索按鈕活動的響應。
顯然,我的應用程序將在警報視圖的“確定”按鈕上崩潰。
所以,在那種情況下
如何禁用導航欄后退按鈕? (當我點擊搜索時)
要么
單擊后退按鈕時如何防止UIAlerview顯示?
更新:
我嘗試了所有方法來隱藏后退按鈕。 :-)
僅隱藏按鈕或禁用用戶交互不是最佳實踐,因為用戶將不知道應用程序正在發生什么,如果過程較長,則用戶會認為該應用程序已被凍結並終止。 在這些情況下,良好做法是HUD(進度指示器),它會阻止用戶交互。 在這種情況下,用戶將看到背景中正在發生某些事情,並將等待其完成,如果他不厭其煩,HUD不會允許他。 我通常使用以下代碼: https : //github.com/jdg/MBProgressHUD ,實現非常簡單,看起來也很不錯,但是您始終可以自己編寫一個。
將您的UIAlertView的引用另存為屬性
@property (strong, nonatomic) UIAlertView *alert;
顯示警報
self.alert = [[UIAlertView alloc] initWithTitle:@"title" message:@"message" delegate:self cancelButtonTitle:@"cancel" otherButtonTitles: nil];
[self.alert show];
如果出現“風險”,請刪除代表
self.alert.delegate = nil;
風險結束后,重置代表
self.alert.delegate = self;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.