我的應用程序有兩個視圖,一個在屏幕的上半部分,另一個在屏幕的下半部分。上半部分視圖稱爲mainView,下半部分稱爲tableView。我在mainView底部的mainView中有一個UITextField。所以,我得到了tableView的高度和鍵盤之間的差異,所以我可以向上/向下移動mainView,使鍵盤直接在uitextfield下面。我在下面使用的代碼適用於iphone 4s和iphone 5,但是更大的代碼會在文本字段和鍵盤之間留下一點空白。我怎樣才能解決這個問題?如何在UITextField下正確使用鍵盤?
func keyboardShown(notification: NSNotification) {
let info = notification.userInfo!
let value: AnyObject = info[UIKeyboardFrameEndUserInfoKey]!
let rawFrame = value.CGRectValue
let keyboardFrameHeight = view.convertRect(rawFrame, fromView: nil).height
let bottomSpace = tableView.bounds.height
let spaceDifference = (keyboardFrameHeight - bottomSpace)
view.layoutIfNeeded()
self.mainViewProportionalHeight.constant -= spaceDifference
animLayout(0.5)
}
爲了重申:
MAINVIEW =視圖
的tableView =視圖
的底半部的上半部分有附接到MAINVIEW的底部的UITextField,使mainview的底部= mainView的底部。基本上,我正在嘗試對齊鍵盤上方的mainView而沒有任何空格。
設置一個斷點,是'keyboardFrameHeight'或'bottomSpace'以任何方式小數? –
什麼是約束mainViewProportionalHeight?那麼這個白色空間是怎樣的? –
都不是分數。 mainViewProportionalHeight是主視圖的比例高度(如果這還不夠清楚:P)常數會根據您設置的很多點向上/向下移動它。 「白色空間」(抱歉,不清楚)是鍵盤和主視圖底部(文本框)之間的空間。鍵盤和主視圖底部之間應該有0個空格。感謝評論!我無法弄清楚我的生活:) – acahreonn