Как я могу изменить UITextField внутри UIAlertController? - PullRequest
0 голосов
/ 25 января 2019

У меня есть UIAlertController, в котором есть два UITextField, чтобы пользователь мог ввести имя и фамилию. Я хотел бы, чтобы оба текстовых поля автоматически использовали заглавную букву с помощью inputTextField? .autocapitalizationType = .words но, похоже, не имеет никакого эффекта. Поскольку это внутри UIAlertController, у Storyboard нет способа установить это (насколько я знаю). И в коде я попытался поместить эту строку кода как снаружи (сразу после объявления var inputTextField, так и внутри блока кода обработчика alert.addAction и ни один из них не работает. Любой совет приветствуется. В настоящее время код выглядит так:

var inputTextField: UITextField?
var inputTextField2: UITextField?

let alert = UIAlertController(title: "Name?", message: "Can I get a first and last name?", preferredStyle: UIAlertController.Style.alert)
    alert.addAction(UIAlertAction(title:"Enter", style: UIAlertAction.Style.default,handler: { (action) -> Void in
        inputTextField?.autocapitalizationType = .words
        inputTextField2?.autocapitalizationType = .words
        let firstName = self.replaceSingleQuote(str: inputTextField?.text! ?? "")
        let lastName = self.replaceSingleQuote(str: inputTextField2?.text! ?? "")
        print("USER ENTERED THIS NAME: \(firstName) \(lastName)")
}
...