我試圖使用自定義的UITextField,更準確地說AKMaskField(here is AKMaskField project on GitHub)UIAlertController使用自定義的UITextField
但我沒有運氣,這裏是我的代碼,一個簡單的UIAlertController:
@IBAction func buttonClick(sender: AnyObject) {
var alert = UIAlertController(title: "Vincular CPF", message: "Digite seu CPF para acumular mais pontos no seu programa de fidelidade (Somente números)", preferredStyle: UIAlertControllerStyle.Alert)
alert.addTextFieldWithConfigurationHandler(textFieldConfig) //Line with error
alert.addAction(UIAlertAction(title: "Cancelar", style: UIAlertActionStyle.Cancel, handler: handleCancelButton))
alert.addAction(UIAlertAction(title: "Enviar", style: UIAlertActionStyle.Default, handler: {
(UIAlertAction) in
println("ok")
}))
self.presentViewController(alert, animated: true, completion: {
})
}
func textFieldConfig(textField: AKMaskField){
textField.mask = "{ddd}.{ddd}.{ddd}-{dd}"
textField.maskTemplate = "x"
textField.maskShowTemplate = true
//textField.keyboardType = .NumberPad
//textField.placeholder = "00000000000"
}
這裏是錯誤消息:
Cannot invoke 'addTextFieldWithConfigurationHandler' with an argument list of type '((AKMaskField) ->())'
的錯誤是很清楚,我想盡一切辦法強制向下轉換到一個的UITextField,但似乎沒有任何工作。
任何人有任何想法我怎麼能做到這一點?
我不得不改變爲'(textField:UITextField!)'來編譯,當我點擊按鈕時我得到這個錯誤信息:無法將類型'_UIAlertControllerTextField'(0x109a40b88)的值轉換爲'Test ___ iOS_Application.AKMaskField'(0x106ce6e60 )。 –
那麼'AKMaskField'不會擴展'UIAlertControllerTextField'?你能修改它嗎? –
我試圖擴展它,但我得到一個錯誤:使用未聲明的類型'UIAlertControllerTextField' –