【发布时间】:2016-09-01 16:24:21
【问题描述】:
我想知道在 iOS 9 中显示自定义警报的正确方法是什么?我的警报应该有一个带有标签的图标和一个隐藏它的按钮。它不是按 iOS 风格设计的,所以据我了解,我不能使用 UIViewAlert?
【问题讨论】:
-
这个问题太笼统了。你已经尝试了什么?请发布您正在进行的实施。
我想知道在 iOS 9 中显示自定义警报的正确方法是什么?我的警报应该有一个带有标签的图标和一个隐藏它的按钮。它不是按 iOS 风格设计的,所以据我了解,我不能使用 UIViewAlert?
【问题讨论】:
UIAlertController 只是一种特殊的 UIViewController,它由当前的屏幕视图控制器通过 presentingViewController.presentViewController(alertController, animated: true, completion: ... ) 呈现出来
这真的取决于你想要多少定制。如果您只想重新设置警报,您可以使用警报控制器的视图做各种事情。 这不是最好的做法,但这里有一些关于 alertController 视图结构的提示(它可能会改变)
alertController.view.subviews.firstObject(子视图) alertController.view.subviews.firstObject.subviews.firstObject(alertContentView,圆角的东西,可以通过.layer.cornerRadius改变)
你也可以创建你自己的扩展 UIViewController 的 AlertController。您可以像在任何其他 UIViewController 中一样在 xib 文件中构建它,甚至可以添加自定义动画 - 自定义警报以相同的方式呈现: presentingViewController.presentViewController(alertController, 动画: true, 完成: {})
我希望这会有所帮助。
【讨论】: