Отвечая на мой собственный вопрос.
Я искал все выше и ниже готовый проект UIAlertView, который предлагал функции, которые я искал.Я уверен, что они существуют - я видел приложения с отличными предупреждениями.Их авторы не должны делиться - это совершенно нормально, я понимаю.
Так что я написал свой собственный.TSAlertView - это базовая реализация модального представления предупреждений, совместимого по интерфейсу с UIAlertView.С точки зрения визуального вида, хотя это не идеальная копия, она очень близка.Возможности, которые он предлагает, - это, в основном, то, что я обрисовал в первоначальном вопросе:
способность устанавливать ширину дисплея и максимальную высоту представления предупреждений.Это позволяет мне получать более привлекательные оповещения на iPad.
возможность указывать расположение кнопок (в стеке и рядом друг с другом), даже если есть только две кнопки.Это всегда беспокоило меня с UIAlertView - если у меня было две кнопки, они всегда были расположены рядом.Большая проблема, если текст кнопки не умещался.
возможность запрашивать ввод данных пользователем через UITextField.Время от времени вам просто нужен быстрый и грязный способ предложить пользователю что-то ввести.
изменение размера / изменение положения при появлении клавиатуры.(происходит при запросе ввода пользователем)
возможность иметь UITextView для прокрутки текста.Можно явно установить эту опцию вместо того, чтобы полагаться на UIAlertView для замены в UITextView для длинного текста.
почти идеальной копии пикселя UIAlertView для основного отображения.
поддержка пользовательских фонов
- интерфейс, совместимый с UIAlertView, т. Е. Это замена по запросу.
I 'В прошлом году я использовал несколько отличных проектов с открытым исходным кодом в своем коде.Мои два фаворита: MBProgressHUD и MGSplitViewController , каждый из которых размещен на github.Я решил поделиться TSAlertView таким же образом.
https://github.com/TomSwift/TSAlertView
В начальной реализации наверняка есть некоторые ошибки.Я еще не использовал его в проекте доставки, но я использую его в своем текущем проекте, который будет завершен через несколько недель.Если вы хотите попробовать использовать его самостоятельно, пожалуйста, не стесняйтесь.Опубликуйте любые проблемы на github или, что еще лучше, отправьте исправление.
Наслаждайтесь!
Вот несколько скриншотов, показывающих 1) 2 сложенных кнопки 2) возможность ввода 3) явная настройка ширины