重新定位UIAlertView

sat*_*raj 4 ios swift

UIAlertView打开ViewController时,我想在屏幕底部简单一点.

现在,我创建一个警报视图,在2秒后显示它并隐藏警报.
但是,警报视图仅显示在屏幕中央.

如何将其重新定位在屏幕底部?

这是我的代码:

let alert = UIAlertController(title: "", message: "Please Swipe To Refresh After 2 seconds", preferredStyle: .alert)
alert.view.frame.origin.x = 150
alert.view.frame.origin.y = 250
self.present(alert, animated: true, completion: nil)
let indicator = UIActivityIndicatorView(frame: alert.view.bounds)
indicator.autoresizingMask = [.flexibleWidth, .flexibleHeight]
alert.view.addSubview(indicator)
indicator.isUserInteractionEnabled = false 
indicator.startAnimating()       
let when = DispatchTime.now() + 2
DispatchQueue.main.asyncAfter(deadline: when) {
    alert.dismiss(animated: true, completion: nil)
}
Run Code Online (Sandbox Code Playgroud)

And*_*rea 5

您无法移动并UIAlertController设置其演示样式,即使有解决方法也不要使用它.为了达到你想要的,你有不同的选择:

  • 使用一个简单的UIView子类,它只需要在show方法中使用您想要用作超级视图的视图
  • 创建一个UIViewController子类并使用a来呈现它UIPresentationController,如果您是iOS开发的新手,这可能会非常困难
  • 使用github上已有的库之一,例如this