我目前UIAlertController正在屏幕上显示.警报视图应仅显示2个元素,标题和UIActivityIndicatorView警报中心.以下是显示警报及其元素的功能.
func displaySignUpPendingAlert() -> UIAlertController {
//Create the UIAlertController
let pending = UIAlertController(title: "Creating New User", message: nil, preferredStyle: .Alert)
//Create the activity indicator to display in it.
let indicator = UIActivityIndicatorView(frame: CGRectMake(pending.view.frame.width / 2.0, pending.view.frame.height / 2.0, 20.0, 20.0))
indicator.center = CGPointMake(pending.view.frame.width / 2.0, pending.view.frame.height / 2.0)
//Add the activity indicator to the alert's view
pending.view.addSubview(indicator)
//Start animating
indicator.startAnimating()
self.presentViewController(pending, animated: true, completion: nil)
return pending
}
Run Code Online (Sandbox Code Playgroud)
但是,活动指示器不会显示在视图的中心,实际上它显示在屏幕的右下方,远离视图.这是什么原因?
编辑:我知道我可以硬编码指标位置的数字,但我希望警报可以在多个屏幕尺寸和方向的多个设备上工作.
我习惯UIAlertViews通过[ alert setValue:someView forKey:@"accessoryView"]方法来定制.这为UIAlertViews创建了具有自定义高度的可自定义内容.但它只适用于iOS7及以下版本.在iOS8中UIAlertController已经接管了,我不能再自定义它了,它会削减它的高度UIAlertView.
是不是因为误用了UIAlertController,或者我该怎么做呢?我试图在UIAlertController中包含一个UITableView UIAlertControllerStyleAlert.
谢谢.