我的提醒如下:
是否可以使输入更大并在它们之间增加空间?这是我的代码中的一个片段。我尝试更改第二个文本字段的let alert = UIAlertController(title: title, message: message, preferredStyle: .Alert)
// Add the textfields
alert.addTextFieldWithConfigurationHandler({ (textField) -> Void in
textField.placeholder = "Vaše jméno"
})
alert.addTextFieldWithConfigurationHandler({ (textField) -> Void in
textField.placeholder = "Společné heslo"
var oldFrame = textField.frame
oldFrame.origin.y = 40
oldFrame.size.height = 60
textField.frame = oldFrame
})
属性,但没有帮助:
var span = document.getElementById("spanPBBestEst" + rowNum);
答案 0 :(得分:10)
UIAlertController视图旨在简单且无法自定义。如果您制作自己的视图控制器,那么该视图属于您,您可以执行任何您喜欢的操作。
答案 1 :(得分:0)
警告:仅将此方法用作最后的选择!如果要微调警报控制器的外观,请使用自定义警报视图。 Take a look at this question了解详情。
作为一种骇人听闻的解决方案,您可以将两者之间的第三个文本字段用作分隔符并将其禁用。另外,您可以使用this mehtod为其设置自定义高度。
为避免使这个额外的文本字段成为焦点,请使用UITextFieldDelegate
方法textFieldShouldReturn(_:)
来使第二个文本字段成为焦点。
class AlertViewController: UITextFieldDelegate {
[...]
var firstTextField: UITextField!
var secondTextField: UITextField!
func setUpAlert() {
[...]
alert.addTextField { [weak self] textField in
self?.firstTextField = textField
textField.delegate = self
}
alert.addTextField { textField in
textField.addConstraint(textField.heightAnchor.constraint(equalToConstant: 2))
textField.isEnabled = false
}
alert.addTextField { [weak self] textField in
self?.secondTextField = textField
}
[...]
}
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
if textField == firstTextField {
secondTextField?.becomeFirstResponder()
}
return true
}
}
结果:
不幸的是,您无法隐藏额外的文本字段,但至少可以为其提供背景:
textField.backgroundColor = .black
结果: