У меня есть приложение, которое люди могут использовать для запроса сервиса.У меня есть контроллер панели вкладок, который использует контроллер навигации на 1-й вкладке, на которой было несколько страниц для разных вещей, таких как сервис, местоположение и информация о клиенте.У всех есть UIAlertViews, и все прекрасно работает, когда я ставлю tabBarController в качестве точки входа приложений.Затем я решил добавить другой UIViewController, чтобы они могли выбрать tabBarController или другой tabBarController.вроде 2 приложения в одном, если это имеет смысл.Когда я помещаю этот UIViewController в качестве точки входа в приложение, все UIAlertViews работают, за исключением последнего.Там написано: «Предупреждение: попытайтесь представить, чье представление не находится в иерархии окон!».Вот мой код
@IBAction func send(_ sender: Any)
{
name.resignFirstResponder()
dismiss(animated: true, completion: nil)
year.resignFirstResponder()
dismiss(animated: true, completion: nil)
make.resignFirstResponder()
dismiss(animated: true, completion: nil)
model.resignFirstResponder()
dismiss(animated: true, completion: nil)
color.resignFirstResponder()
dismiss(animated: true, completion: nil)
note.resignFirstResponder()
dismiss(animated: true, completion: nil)
let alertController = UIAlertController(title: "You will now email your service request. The recipient email adress and message will be preset, all you have to do is hit send.", message: "Message and data rates may apply.", preferredStyle: .alert)
let okAction = UIAlertAction(title: "ok", style: UIAlertActionStyle.default)
{
UIAlertAction in
let mailcomposedViewController = self.configureMailController()
if MFMailComposeViewController.canSendMail()
{
self.present(mailcomposedViewController, animated: true, completion: nil)
}
else
{
self.showMailError()
}
}
alertController.addAction(okAction)
self.present(alertController, animated: true, completion: nil)
}
Может ли кто-нибудь указать мне правильное направление, почему оповещение работает на одной точке входа, а не на другой?
Когда я помещаю точку входа приложения в контроллер панели вкладок (верхнее изображение), все работает отлично.Но когда я ставлю точку входа как UIView (нижний рисунок), только последняя часть не работает.