Uialertcontroller 中没有类似 addtextfield 方法的方法。我还没有找到任何关于如何自定义 MDCAlertControllers 的示例。有人有想法吗?
问问题
282 次
2 回答
3
我认为这是不可能的。文档说 :
MDCAlertController 类旨在按原样使用,不支持子类化。此类的视图层次结构是私有的,不得修改。
于 2019-06-26T09:14:01.840 回答
1
现在可以通过使用accessoryView
.
只需将其设置为您的自定义视图并将警报消息设置为空白即可。
alertController.accessoryView = myCustomView
代码示例(使用 SnapKit 进行布局)
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)
上述代码的结果
于 2020-09-19T18:17:18.080 回答