2016-07-30 60 views
1

我正在開發一個iPhone應用程序,我必須在按鈕事件的情況下顯示一些自定義選擇器。但我不想爲自定義pickerView的框架硬編碼值。我搜索並發現keyboardWillShow通知userInfo方法,但在我的情況下,我沒有顯示鍵盤,因此無法將幀取出。任何人都可以幫助我獲得可用於自定義選取器的鍵盤框架嗎?獲取鍵盤框架沒有keyboardWillAppear用戶信息通知,iOS

+2

什麼?你不能。你希望你的pickerView擁有和鍵盤一樣的框架,而不需要顯示鍵盤。然後讓你的pickerView和屏幕上的鍵盤和寬度一樣高。您將必須對約束常數或幀高度常量進行硬編碼。 – Brandon

+0

什麼?我同意布蘭登,你可以硬編碼CGRect完全匹配鍵盤框架 –

+0

[獲取iOS鍵盤的高度而不顯示鍵盤]的可能的副本(https://stackoverflow.com/questions/26981261/get-height-of-ios-keyboard -without-顯示鍵盤) –

回答

2

您可以使用UITextField並呼籲becomeFirstResponder並立即resignFirstResponder就可以了,所以它會被顯示和隱藏,實際上看不到鍵盤。

按鈕的操作方法如下所示:

@IBAction func showPickerView(sender: AnyObject) 
{ 
    let textField = UITextField() 
    view.addSubview(textField) 
    textField.becomeFirstResponder() 
    textField.resignFirstResponder() 
    textField.removeFromSuperview() 
} 

而且你可以聽的通知,並獲得高度。

瞭解更多信息:Get height of iOS keyboard without UIKeyboardWillShowNotification