2016-08-06 76 views
1

我正在開發添加目標模式「自定義鍵盤」的自定義鍵盤。ios)如何創建自定義鍵盤上方的建議視圖

所以我正在開發我的UIInputViewController的子類。

我已經完成了正確的自定義鍵盤類型。

所以我需要根據用戶輸入的文本在我的自定義鍵盤上方創建一個建議視圖。

這是與默認系統鍵盤完全相同的模塊。

,但是當我試圖訪問 'inputAccessoryView' 與下面的代碼:

let customView = UIView(frame:CGRectMake(0,0,UIScreen.mainScreen().bounds.width,100)) 
customView.backgroundColor = UIColor.redColor() 
self.inputAccessoryView = customView 

我得到了一個錯誤:

無法指定屬性: 'iputAccessoryView' 是一個GET-唯一的財產

我搜索了很多,但沒有與我合作。

我發現有些帖子指的是'UITextField''accessoryview of UITextField'not related to 'UIInputViewController'

但激活自動完成模式後,系統默認的鍵盤顯示我inputAccessoryView全建議的關鍵字,但我的自定義鍵盤顯示什麼上面本身。

我認爲,這項工作必須在「UIInputViewController」做不「的UITextField」和激活是必要的我的自定義鍵盤來創建其inputAccessoryview。

有什麼我失蹤或誤解?

回答

0

蘋果Custom Views for Data Input文檔狀態:

「任何類從UIResponder(通常 自定義視圖)直接或間接地繼承可以指定自己的輸入視圖,輸入附件 看法。」

你需要確定你的inputAccessoryView在像UIViewUITextField這無論從UIResponder繼承一個子類。通過這樣做,您可以定義特定種類的視圖成爲第一響應者時應在鍵盤上顯示的內容。

最後你會喜歡的東西:

class MyTextField: UITextField { 
    override var inputAccessoryView: UIView? { 
     return myView 
    } 
} 

MyTextField成爲第一個響應者,myView將鍵盤上方顯示。