Ios 快速删除文本字段边框

Ios 快速删除文本字段边框,ios,swift,alert,textfield,Ios,Swift,Alert,Textfield,我在警报中有一个文本字段。 我已将其边框样式配置为: textField.borderStyle = .roundedRect 但在第一个矩形边框的周围还有另一个矩形边框,如您所见: 我想通过代码删除它,但我找不到任何选项或执行方法 以下是警报代码: private func presentUsernameAlert() { let alert = UIAlertController(title: nil, message: "Alors ?", preferredStyle: .a

我在警报中有一个文本字段。 我已将其边框样式配置为:

textField.borderStyle = .roundedRect
但在第一个矩形边框的周围还有另一个矩形边框,如您所见:

我想通过代码删除它,但我找不到任何选项或执行方法

以下是警报代码:

private func presentUsernameAlert() {
    let alert = UIAlertController(title: nil, message: "Alors ?", preferredStyle: .alert)
    alert.addTextField(configurationHandler: newUsername)
    alert.addAction(UIAlertAction(title: "Annuler", style: .default, handler: nil))
    alert.addAction(UIAlertAction(title: "Confirmer", style: .default, handler: nil))
    present(alert, animated: true, completion: nil)
}

private func newUsername(textField: UITextField) {
    usernameTextField = textField
    usernameTextField?.borderStyle = .roundedRect
    usernameTextField?.keyboardAppearance = .dark
    usernameTextField?.placeholder = "Nouveau pseudo"
}

然后我使用此属性调用
presentUsernameAlert()

openvar textFields:[UITextField]?{get}
AlertViewController
,经过可视化调试后,我发现需要删除0中的
superView.superView.subView
,并更改
TextField.superView
背景以清除并修复该问题

尝试以下代码:

private func presentUsernameAlert() {
    let alert = UIAlertController(title: nil, message: "Alors ?", preferredStyle: .alert)
    alert.addTextField(configurationHandler: newUsername)
    alert.addAction(UIAlertAction(title: "Annuler", style: .default, handler: nil))
    alert.addAction(UIAlertAction(title: "Confirmer", style: .default, handler: nil))
    present(alert, animated: true) {

    }
    if let textFields = alert.textFields {
        if textFields.count > 0{
 textFields[0].superview!.superview!.subviews[0].removeFromSuperview()
            textFields[0].superview!.backgroundColor = UIColor.clear
        }
    }
}
它最终应该是什么样子:

private func presentUsernameAlert() {
    let alert = UIAlertController(title: nil, message: "Alors ?", preferredStyle: .alert)
    alert.addTextField(configurationHandler: newUsername)
    alert.addAction(UIAlertAction(title: "Annuler", style: .default, handler: nil))
    alert.addAction(UIAlertAction(title: "Confirmer", style: .default, handler: nil))
    present(alert, animated: true) {

    }
    if let textFields = alert.textFields {
        if textFields.count > 0{
 textFields[0].superview!.superview!.subviews[0].removeFromSuperview()
            textFields[0].superview!.backgroundColor = UIColor.clear
        }
    }
}

检查您的代码中是否有
textfield.layer.borderColor=UIColor.red.cgColor
不,我没有类似的东西……您能把所有与AlertView相关的代码都放在您的问题中吗?是的,没问题,让我说两个secApple的控件通常不是很灵活,您可以选择编写自己的版本,使用私有API或通过查看子视图(两者都可能导致应用程序被拒绝或最终崩溃)或直接使用它来修改它。我建议你们保持原样。@我正在测试的标语牌我会在确认结果后尽快发布一些东西