簡體   English   中英

在iOS7正確的時間顯示鍵盤

[英]Showing keyboard at the right time iOS7

在iOS 6中,我習慣在viewDidLoad呈現鍵盤。

- (void)viewDidLoad
{
    [super viewDidLoad];

    [txtField becomeFirstResponder];
}

這樣,當navigationController推送新的viewController時,鍵盤已經存在,從左到右平滑地動畫,避免自下而上的動畫。

在iOS 7中,這種行為似乎已經破裂。

如果我在viewDidLoad添加[txtField becomeFirstResponder] ,鍵盤會出現在推動動畫的中間,已經處於最終位置:令人不快的效果!!

我試圖在viewWillAppear移動[txtField becomeFirstResponder] ,但最終結果沒有變化。

你知道一種方法來恢復iOS 6的行為,將新的viewController和鍵盤全部推到一起嗎?

編輯:使用計時器也不起作用...無論我設置什么時間延遲,鍵盤只在推動動畫結束時顯示。

到目前為止,我最好的嘗試是在viewWillLayoutSubviewsviewDidLayoutSubviews放置[txtField becomeFirstResponder] 不幸的是,這樣做在推送viewController時工作,但在彈出時沒有(鍵盤沒有出現)。

我已設法在viewWillLayoutSubviews推斷您的變通方法以強制它起作用。

- (void)viewWillLayoutSubviews {

    if (![self.textField1 isFirstResponder] && ![self.textField2 isFirstResponder] && ...) {
        [self.textField1 becomeFirstResponder];
    }
}

這對我來說都是有用的,無論是推入堆棧還是解雇模態視圖控制器。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM