2013-04-20 26 views
3

我想使用NSNotification來獲得沒有的鍵盤大小。當我按加號按鈕,就可以像這樣用自定義UIView更換鍵盤:如何獲得iPhone上的鍵盤大小?

Picture1

然後加號按鈕被按下,視圖加載:

Picture2

哪有我做到了?

+6

通知有什麼問題?似乎遠比猜測更有效率,或者必須在幀中進行硬編碼並編寫一堆分支。 – CodaFi 2013-04-20 04:25:11

+0

我同意CodaFi,並且我認爲如果您嘗試按照蘋果鼓勵您這樣做的方式進行操作,您在iOS上的開發將會更好。 – HalR 2013-04-20 05:34:31

+0

int keyboardheight;如果(IS_IPHONE_5) { keyboardheight = 100; } else { keyboardheight = 260; } – 2013-04-20 05:47:19

回答

4

我已經犯了同樣的菜鳥錯誤,就像你想在這裏做的一樣。問題是你會寫很多,只是爲了實現你不想避免iOS團隊提供的標準流程。例如,你肯定會有不好的時間來處理這樣一個問題(有額外的酒吧,是中國區域標準鍵盤的一部分):

enter image description here

我解決了這個利用從DAKeyboardControl project其他人的工作。您不需要將觀察者(或者如果您使用DAKeyboardControl - 塊)直接添加到帶有按鈕的酒吧,而是添加到您的控制器,並檢查用戶正在嘗試執行的操作並相應地爲此欄添加動畫。在源代碼中,您可以看到如何獲取鍵盤的動畫持續時間和計時功能。聽起來可能比實際情況更復雜,只是試一試。

+0

我完全有偏見,但我贊同=)'DAKeyboardControl'建成了更多,但它的返回塊將提供你與鍵盤的框架,你不需要使用它的平移功能。 – 2013-04-20 06:44:12