iOS 基於鍵盤的程式設計所需技巧

2021-06-07 00:49:10 字數 1154 閱讀 3625

首先,你得監聽鍵盤的事件,最基本的兩個事件:

uikeyboardwillshownotification

uikeyboardwillhidenotification

uikeyboard...

ios 5新增加了一些

uikeyboarddidchangeframenotification(will)

一般情況下,前兩個事件已經可以完成你要做的事情。在你的事件處理方法中加上nsnotification引數可以為你獲得更多的東西:

view plainprint?

- (void)keyboardwillshow:(nsnotification *)notification 

如果你要在程式中使用鍵盤的高度和寬度,永遠不要嘗試去手動指定,動態獲取也很簡單而且一定準確,不會出現鍵盤

擋住輸入框的問題。

你可以利用這些引數把動畫做的和鍵盤一致。假設你要把乙個控制項放在window上,並且想讓它的互動方式和鍵盤一樣,

如果只是簡單的做個向下偏移動畫並不能很好的完成,因為你還要考慮從導航欄中pop出來的時候,這個時候的鍵盤動畫是

在x軸上偏移的,你用uikeyboardframeenduserinfokey獲取的frame可以很準確的做到。

如果在某些特殊的字段上,你不想用預設的鍵盤,而是用類似於picker這樣的拾取器,你只需要設定inputview就行了,用你自定義的檢視去替換掉鍵盤;如果你想在鍵盤上面再增加乙個檢視,比如*******,那麼你可以不用自己對*******的位置進行控制,只需要設定inputaccessoryview就行了,這個值預設為nil,設定的檢視將在你的控制項變成第一響應者的時候顯示在inputview的上方。

在uiscrollview(uitableview繼承於它)上,當你觸碰控制項使之變成第一響應者的時候,系統會自動調整位置,避免鍵盤擋住控制項。如果在**中用becomefirstresponder使之變成第一響應者將不會出現自動調整。你可以設定contentoffset去手動調整。其他檢視,最簡單的方法就是修改控制項的frame屬性,讓控制項總是顯示在可見區域。

IOS應用提交所需的ICON

如果提交的ipa包中,未包含必要的icon就會收到類似的通知,為什麼偏偏是icon 76呢?因為我們開發的遊戲,預設是支援iphone以及ipad的,根據官方提供的參考 icon 76.png是必須要提供的 圖示很多,不可能全部都加進去,所有最好是選擇必要的 從上面的列表來看,蘋果是準備放棄對iph...

IOS應用提交所需的ICON

如果提交的ipa包中,未包含必要的icon就會收到類似的通知,為什麼偏偏是icon 76呢?因為我們開發的遊戲,預設是支援iphone以及ipad的,根據官方提供的參考 icon 76.png是必須要提供的 圖示很多,不可能全部都加進去,所有最好是選擇必要的 從上面的列表來看,蘋果是準備放棄對iph...

IOS應用提交所需的ICON

如果提交的ipa包中未包含必要的icon就會收到類似的通知為什麼偏偏是icon 76呢 因為我們開發的遊戲預設是支援iphone以及ipad的根據官方提供的參考 icon 76.png是必須要提供的 圖示很多不可能全部都加進去所有最好是選擇必要的 從上面的列表來看蘋果是準備放棄對iphone4的支援...