Замена UIAlertView

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

  • способность настраивать размер/позицию вида-просмотра
  • возможность изменения макета кнопок (сложенные друг против друга и бок о бок)
  • возможность запрашивать пользователей для ввода через UITextField или UITextView
  • изменение размера/перемещение когда появляется клавиатура
  • возможность иметь UITextView для прокрутка текста
  • пиксельная идеальная копия UIAlertView для основной дисплей
  • идеальный интерфейс, совместимый с UIAlertView - т.е. Это замена с заменой.

Я нашел несколько сообщений в блогах и stackoverflow, которые реализуют настройки в UIAlertView - это НЕ то, что я хочу. Я также не хочу, чтобы руководство по внедрению пользовательского AlertView - я знаю, как это сделать, я просто хочу найти тот, который уже поддерживается сообществом. Я хочу замену нуля, которая безопасна для представления App Store и будущая защита от изменений UIAlertView (да, я был сожжен...)

Пожалуйста, ответьте на комментарии, если у вас есть предложения по другим желаемым функциям.

Ответ 1

Отвечая на мой собственный вопрос.

Я искал высоко и низко для проекта prefab UIAlertView, который предлагал функции, которые я искал. Я уверен, что они существуют - я видел приложения с отличными предупреждениями. Их авторы не должны делиться друг с другом - это совершенно нормально, я понимаю.

Итак, я написал свое. TSAlertView - это новаторская реализация модального представления предупреждения, совместимого с интерфейсом UIAlertView. С точки зрения визуального внешнего вида, хотя это не идеальная копия с пикселями, она приближается. Функции, которые он предлагает, в основном, я изложил в исходном вопросе:

  • возможность установки ширины отображения и максимальной высоты представления предупреждения. Это позволяет мне получать более приятные предупреждения на iPad.

  • возможность указывать расположение кнопок (сложенных друг на друга и бок о бок), даже если есть только две кнопки. Это всегда беспокоило меня с помощью UIAlertView - если бы у меня были две кнопки, они всегда располагались бок о бок. Большая проблема, если текст кнопки не подходит.

  • возможность запрашивать пользователей для ввода через UITextField. Время от времени вам просто нужен быстрый и грязный способ предложить пользователю что-то ввести.

  • изменение размера/перемещение при появлении клавиатуры. (происходит при запросе ввода пользователя)

  • возможность иметь UITextView для прокрутки текста. Можно явно задать этот параметр вместо того, чтобы полагаться на UIAlertView для обмена в UITextView для длинного текста.

  • рядом с идеальной копией UIAlertView для основного дисплея.

  • поддержка пользовательских фонов

  • совместим с интерфейсом UIAlertView, то есть это замена.

В прошлом году я использовал несколько больших проектов с открытым исходным кодом в своем коде. Мои два фаворита MBProgressHUD и MGSplitViewController, каждый из которых размещен в github. Я решил поделиться TSAlertView таким же образом.

https://github.com/TomSwift/TSAlertView

У первоначальной реализации наверняка есть некоторые ошибки. Я еще не использовал его в проекте доставки, но я использую его в своем текущем проекте, который будет завершен через несколько недель. Если вы хотите попробовать использовать его самостоятельно, пожалуйста, не стесняйтесь. Опубликуйте любые вопросы о github или, еще лучше, отправьте исправление.

Наслаждайтесь!

Вот несколько скриншотов, показывающих 1) 2 кнопки сложения 2) 3) Явная настройка ширины

showing 2 stacked buttons hereshowing input capabilityshowing wide-layout

Ответ 2

Отметьте Smart Alert View, это с открытым исходным кодом.

Ответ 3

Проверьте мою собственную замену вида оповещения - получите приложение здесь. https://github.com/FeminaErnest/GeekyFemi. Удачи.