我有一個alertview,顯示用戶必須輸入的文本字段。問題是如果用戶點擊「授權」而不輸入它,那麼alertview將被解僱。我無法找到一種向用戶顯示它是強制性的而不關閉alertview的方式。有沒有一種方法可以在使用swift的alertview中提供驗證?
代碼:
FUNC的tableView(的tableView:UITableView的!didSelectRowAtIndexPath方法indexPath:NSIndexPath!) {
print("You selected cell #\(self.empNameArr[indexPath.row])!")
let alertController = UIAlertController(title: "OD Authorise", message: "", preferredStyle: UIAlertControllerStyle.Alert)
let AUTHORISE = UIAlertAction(title: "AUTHORISE", style: UIAlertActionStyle.Default, handler: {
alert -> Void in
let firstTextField = alertController.textFields![3] as UITextField
print("<><><><><><>",firstTextField.text)
})
let DENY = UIAlertAction(title: "DENY", style: UIAlertActionStyle.Default, handler: {
(action : UIAlertAction!) -> Void in
})
let CANCEL = UIAlertAction(title: "CANCEL", style: UIAlertActionStyle.Default, handler: {
(action : UIAlertAction!) -> Void in
})
alertController.addTextFieldWithConfigurationHandler { (txtRemarks : UITextField!) -> Void in
txtRemarks.font = UIFont(name: (txtRemarks.font?.fontName)!, size: 11)
txtRemarks.text = " Employee Name :\(self.empNameArr[indexPath.row]) "
txtRemarks.userInteractionEnabled=false
txtRemarks.borderStyle = UITextBorderStyle.None
}
alertController.addTextFieldWithConfigurationHandler { (txtRemarks : UITextField!) -> Void in
txtRemarks.font = UIFont(name: (txtRemarks.font?.fontName)!, size: 11)
txtRemarks.text = " From Date :\(self.leavDateArr[indexPath.row]) "
txtRemarks.userInteractionEnabled=false
txtRemarks.borderStyle = UITextBorderStyle.None
}
alertController.addTextFieldWithConfigurationHandler { (txtRemarks : UITextField!) -> Void in
txtRemarks.font = UIFont(name: (txtRemarks.font?.fontName)!, size: 11)
txtRemarks.text = " To Date :\(self.ToDate[indexPath.row]) "
txtRemarks.userInteractionEnabled=false
txtRemarks.borderStyle = UITextBorderStyle.None
}
alertController.addTextFieldWithConfigurationHandler { (txtRemarks : UITextField!) -> Void in
txtRemarks.font = UIFont(name: (txtRemarks.font?.fontName)!, size: 11)
txtRemarks.text = " Leave reason :\(self.Reason[indexPath.row]) "
txtRemarks.userInteractionEnabled=false
txtRemarks.borderStyle = UITextBorderStyle.None
}
alertController.addTextFieldWithConfigurationHandler { (txtRemarks : UITextField!) -> Void in
txtRemarks.placeholder = "Enter Your Remarks"
txtRemarks.font = UIFont(name: (txtRemarks.font?.fontName)!, size: 15)
txtRemarks.userInteractionEnabled=true
txtRemarks.borderStyle = UITextBorderStyle.Line
txtRemarks.textAlignment = NSTextAlignment.Center
}
alertController.addAction(AUTHORISE)
alertController.addAction(DENY)
alertController.addAction(CANCEL)
self.presentViewController(alertController, animated: true, completion: nil)
}
您可以先禁用按鈕,然後執行textfield委託方法來檢查何時啓用按鈕。 – Sahil