Вы действительно хотите, чтобы модальное диалоговое окно показывало каждый каждый раз, когда щелкается текстовое поле? Имейте в виду, что размещение активации в textFieldShouldBeginEditing()
будет означать, что повторная активация поля после закрытия диалогового окна снова покажет диалоговое окно.
Может быть, вам просто нужно показать диалог один раз? В этом случае простой логический флаг, установленный при первом показе, решит проблему. То есть в области видимости контроллера:
var hasShownWarningDialog = false
и затем реализовать вместо (после комментариев):
func textFieldShouldBeginEditing(textField: UITextField) -> Bool
{
if !hasShownWarningDialog
{
hasShownWarningDialog = true
// Create dialog here
self.present(alert, animated: true, completion: {self.textField.becomeFirstResponder()})
return false
}
else
{
return true
}
}