Проблема, с которой вы сталкиваетесь, заключается в этой строке:
let indicator = NVActivityIndicatorView(frame: CGRect(x: (pending.view.frame.width/2) - 25 , y: 0, width: 50, height: 50))
На данный момент ваш pending
контроллер предупреждений не еще не представлен, и его кадр не обновляется.
Вам нужно будет обновить frame
индикатора после того, как контроллер оповещений был представлен, поэтому, например, вы можете сделать следующее.
Заменить эту строку:
ViewController.present(pending, animated: true, completion: completionHandler)
При этом:
ViewController.present(pending, animated: true, completion: {
// update frame here:
indicator.frame = CGRect(x: (pending.view.frame.width/2) - 25 , y: 0, width: 50, height: 50)
// and manually call completionHandler:
completionHandler()
})