在Uialertcontroller中没有类似于addtextfield方法的方法。我尚未找到有关如何自定义MDCAlertControllers的任何示例。有人有主意吗?
答案 0 :(得分:2)
我认为这是不可能的。 docs说:
MDCAlertController类旨在按原样使用,而不是 支持子类化。此类的视图层次结构是私有的, 不得修改。
答案 1 :(得分:1)
现在可以通过使用accessoryView
来实现。
只需将其设置为您的自定义视图,并将警报消息设置为空白即可。
alertController.accessoryView = myCustomView
let title = "My title"
let alertController = MDCAlertController(title: title, message: "")
let confirmAction = MDCAlertAction(title:"Confirm") { [weak self] _ in
//your action here
}
let cancelAction = MDCAlertAction(title:"Cancel")
let width = UIScreen.main.bounds.width * 0.91
let testView = UIView()
let button = UIButton()
button.setTitle("Test", for: .normal)
testView.addSubview(button)
button.snp.makeConstraints { (make) in
make.center.equalToSuperview()
}
testView.backgroundColor = .blue //just to show where the view is
testView.snp.makeConstraints { (make) in
make.width.equalTo(width)
make.height.equalTo(100)
}
alertController.accessoryView = testView
alertController.addAction(confirmAction)
alertController.addAction(cancelAction)
alertController.defaultTheming()
present(alertController, animated:true)