2015-05-02 2 views
1

Я пытался настроить положение индикатора в UIAlertView, но он никогда не работает. я попытался установить для loadingIndicator loadingIndicator.center = CGPointMake(alert.bounds.size.width/2, alert.bounds.size.height - 50) но это не распространялось на всех, посмотрите на эту фотографию:Настроить положение UIActivityIndicatorView в AlertView - Swift

enter image description here

alert = UIAlertView(title: "Loading...", message: nil , delegate: nil, cancelButtonTitle: nil) 
     loadingIndicator = UIActivityIndicatorView(frame: CGRectMake(50, 10, 37, 37)) 
     loadingIndicator.center = self.view.center 
     loadingIndicator.hidesWhenStopped = true 
     loadingIndicator.activityIndicatorViewStyle = UIActivityIndicatorViewStyle.Gray 
     loadingIndicator.startAnimating(); 

     alert.setValue(loadingIndicator, forKey: "accessoryView") 
     loadingIndicator.startAnimating() 
     alert.show(); 
+0

Пожалуйста, проверьте обновленный код @aaoli –

+1

Вы также можете быть заинтересованы в этом классе: https://github.com/goktugyil/ CozyLoadingActivity – Esqarrouth

ответ

5

enter image description here

Попробуйте следующий код:

 var alert : UIAlertView = UIAlertView(title: "Loading...", message: nil , delegate: nil, cancelButtonTitle: nil) 
     var viewBack:UIView = UIView(frame: CGRectMake(83,0,100,100)) 

     var loadingIndicator: UIActivityIndicatorView = UIActivityIndicatorView(frame: CGRectMake(50, 10, 37, 37)) 
     loadingIndicator.center = viewBack.center 
     loadingIndicator.hidesWhenStopped = true 
     loadingIndicator.activityIndicatorViewStyle = UIActivityIndicatorViewStyle.Gray 
     loadingIndicator.startAnimating(); 
     viewBack.addSubview(loadingIndicator) 
     viewBack.center = self.view.center 
     alert.setValue(viewBack, forKey: "accessoryView") 
     loadingIndicator.startAnimating() 
     alert.show(); 
+0

, но он стал таким огромным, просто немного изменив индикатор до вершины, не создавая огромного вида, чтобы быть всегда в центре предупреждения? – AaoIi

+0

Просто измените размер 'viewBack', тогда вы получите меньший вид :) @AaoIi –

+0

' var viewBack: UIView = UIView (frame: CGRectMake (83,0,100,60)) ' –

1

Я пытался много раз добавить свой взгляд на UIAlertView, многие странные вещи происходят. Вы можете использовать эту библиотеку, она не такая красивая, как UIAlertView, она может решить вашу проблему.

Custom iOS AlertView

Смежные вопросы