iOS UIAlertView消失后鍵盤重新彈出問題-最終結(jié)局方案

1.問題:pop 一個viewController時候鍵盤會發(fā)生閃現(xiàn)

假如有兩個ViewController A 和 B(使用了UINavigationController), 在B中的TextField操作結(jié)束后,使用UIAlertView提醒再返回到A界面,鍵盤會閃現(xiàn)出來,即使寫了[_textField resignFirstResponder] 和 [self.view endEditing:YES]; 也還是會發(fā)生。

驗證方法:在A和B控制器中都去調(diào)用textField的代理,這個時候,可以看到A和B中的代理都調(diào)用了。

解決方法:

方法一:這個問題就是因為鍵盤收起是有動畫的。而在鍵盤收起的動畫開始的時候就pop了,鍵盤的動畫沒有執(zhí)行完當(dāng)然要在下一個vc里繼續(xù)執(zhí)行。所以要等鍵盤完全收起之后再pop或者push。直接dispatch_after個0.5秒左右再執(zhí)行pop或者push。至于為什么用0.5秒,可能因為系統(tǒng)鍵盤收起的duration在0.5內(nèi)會執(zhí)行完畢.

如果鍵盤是顯示出來的,就延時0.5showAlert,如果鍵盤沒顯示,就直接showAlert

if ([IQKeyboardManager sharedManager].keyboardShowing){//如果鍵盤是顯示的,就要給0.5秒的動畫時間鍵盤收起,否則回去一個頁面會閃現(xiàn)鍵盤
            [weakSelf.viewendEditing:YES];
            //OC延時執(zhí)行
            dispatch_time_tdelayTime =dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5/*延遲執(zhí)行時間*/* NSEC_PER_SEC));
            dispatch_after(delayTime, dispatch_get_main_queue(), ^{
                jxt_showAlertTwoButton(@"返回上一頁,將丟失現(xiàn)在編輯的內(nèi)容",nil,@"返回", ^(NSIntegerbuttonIndex) {
                    [weakSelf.navigationControllerpopViewControllerAnimated:YES];
                    return;
                },@"繼續(xù)編輯", ^(NSIntegerbuttonIndex) {

                });
            });
        }
        else{
            jxt_showAlertTwoButton(@"返回上一頁,將丟失現(xiàn)在編輯的內(nèi)容",nil,@"返回", ^(NSIntegerbuttonIndex) {
                [weakSelf.navigationControllerpopViewControllerAnimated:YES];
                return;
            },@"繼續(xù)編輯", ^(NSIntegerbuttonIndex) {

            });
        }

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1.問題:pop 一個viewController時候鍵盤會發(fā)生閃現(xiàn) 假如有兩個ViewController A ...
    曉飛90閱讀 1,671評論 0 2
  • 優(yōu)勢 先來說說Leannote的優(yōu)勢: 類Evernote的界面 全平臺客戶端,包括網(wǎng)頁端,掃除一切記錄障礙 友好...
    xoit閱讀 7,208評論 2 53
  • 通常一個APP分為網(wǎng)絡(luò)、數(shù)據(jù)、業(yè)務(wù)等多個層級。只看數(shù)據(jù)層、最基本的模式如下。 VC從DB層讀取數(shù)據(jù)、交由View進...
    kirito_song閱讀 2,739評論 8 38
  • 你們曾說過,最向往不過是冰島。我與你們之間像是丹麥海峽與格陵蘭島相望,想觸及對方的美麗,卻又那么遙不可及。我把我畢...
    秦阿琛閱讀 347評論 0 3
  • 2016的你,你好呀。 “我已不會再對誰滿懷期待,我知道這個世界每天都有太多遺憾,所以你好,再見。...
    景又函閱讀 187評論 0 0

友情鏈接更多精彩內(nèi)容