将自定义UIView添加到UIAlertController

时间:2017-12-03 11:31:26

标签: ios swift uiview xib

我有包含radiobuttons的自定义xib。 我正在尝试将此xib添加到alertcontroller作为子视图。 但是你可以看到文字从uiview出来:

enter image description here

enter image description here

let alert = Bundle.main.loadNibNamed("MyXib", owner: self, options: nil)!.last as! UIView

    let alertController = UIAlertController(title: "\n\n\n\n\n\n", message: nil, preferredStyle: .alert)
    let margin:CGFloat = 8.0

    let rect = CGRect(x: margin, y: margin, width: alertController.view.bounds.size.width - margin * 4, height: 300)

    let customViewForAlert = UIView(frame: rect)
    customViewForAlert.addSubview(alert)

    alertController.view.addSubview(customViewForAlert)
    self.present(alertController, animated: true, completion: nil)

我该如何解决? 谢谢

1 个答案:

答案 0 :(得分:0)

来自Apple的文档:

UIAlertController类旨在按原样使用,不支持子类化。此类的视图层次结构是私有的,不得修改。

请创建自定义视图,向其添加内容,并在视图控制器中显示。