У меня есть iPhone и iPad с установленной iOS 12.1, при компиляции моего swift-кода с помощью Xcode 10.1 и тестировании моего приложения я заметил, что когда я начинаю загрузку, мое подчиненное представление находится в правильном положении на iPad, однако, когда я использую свой iPhone, чтобы протестировать приложение, вспомогательное представление перемещается в ближайший центр сообщения UIAlertController на экране.
Я думаю, что это как-то связано с изменением размера экрана, с iPad и iPhone, из-за которых размер предупреждающего сообщения на экране немного уменьшается, а индикатор выполнения немного перемещается вверх по предупреждающему сообщению. Я не уверен, что это мой код, я добавил изображение этого и мой код ниже. Любая помощь в этом будет благословением, заранее благодарю.
var alert : UIAlertController!
var progressUpload : UIProgressView!
self.alert = UIAlertController(title: "Updating",
message: "Please wait for update to complete..",
preferredStyle: .alert)
self.alert.addAction(UIAlertAction(title: "Cancel", style: .default, handler:
{ (action: UIAlertAction!) in }))
let rect = CGRect(x: 10, y: 70, width: 220, height: 0)
self.progressUpload = UIProgressView(frame: rect)
self.progressUpload.setProgress(0.0, animated: true)
self.progressUpload.transform = CGAffineTransform(scaleX: 1, y:2)
self.progressUpload.progressTintColor = UIColor.blue
self.progressUpload.layer.cornerRadius = 5
self.progressUpload.clipsToBounds = true
//adds to alert message
self.alert.view.addSubview(self.progressUpload)
self.present(self.alert, animated: true, completion: nil)
![enter image description here](https://i.stack.imgur.com/U7Lqw.jpg)