iOS-UIAlert показывает «OK» только после изменения значка приложения на альтернативный - PullRequest
0 голосов
/ 28 июня 2019

У меня есть место, где я меняю значок приложения для своего приложения. Я могу сделать так, чтобы значок приложения действительно изменился, однако предупреждение, которое должно появиться, показывает только «ОК». Нет текста или рисунка, указывающего на то, что значок изменился.

все в порядке оповещение

Мне интересно, может быть, есть проблема с иерархией представлений? Я пытался разместить функцию изменения в нескольких местах в моем приложении, и каждый раз она меняла значок, но предупреждение все равно не верно. Кроме того, я не могу найти никаких ошибок при выводе на консоль.

Вот мой код для вызова смены иконки:

UIApplication.shared.setAlternateIconName(ThemeCenter.shared.alternateIconName, completionHandler: nil)

Я ожидаю, что предупреждение сообщит пользователю, что значок приложения был изменен, и покажет изображение, на которое был изменен значок, например: правильное оповещение Насколько я знаю, это должно происходить автоматически.

Ответы [ 2 ]

0 голосов
/ 02 июля 2019

Проблема заключалась в том, что где-то в нашем коде мы расширяли UIAlertController и переопределяли viewDidLoad, чтобы установить цвет оттенка.По какой-то причине из-за этого переопределения верхняя часть оповещения не отображалась.Удаление viewDidLoad решило проблему.

0 голосов
/ 28 июня 2019

вы можете создать оповещение и добавить к нему изображение:

let showAlert = UIAlertController(title: "Demo Alert", message: nil, preferredStyle: .alert)
let imageView = UIImageView(frame: CGRect(x: 10, y: 50, width: 250, height: 230))
imageView.image = image // Your image here...
showAlert.view.addSubview(imageView)
let height = NSLayoutConstraint(item: showAlert.view, attribute: .height, relatedBy: .equal, toItem: nil, attribute: .notAnAttribute, multiplier: 1, constant: 320)
let width = NSLayoutConstraint(item: showAlert.view, attribute: .width, relatedBy: .equal, toItem: nil, attribute: .notAnAttribute, multiplier: 1, constant: 250)
showAlert.view.addConstraint(height)
showAlert.view.addConstraint(width)
showAlert.addAction(UIAlertAction(title: "OK", style: .default, handler: { action in
    // your actions here...    
}))
self.present(showAlert, animated: true, completion: nil)

, и вы можете изменить размер базы в соответствии с вашими потребностями.

...