UIAlertView замена - PullRequest
       5

UIAlertView замена

11 голосов
/ 19 января 2011

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

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

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

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

Ответы [ 3 ]

17 голосов
/ 24 января 2011

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

Я искал все выше и ниже готовый проект 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) явная настройка ширины

showing 2 stacked buttons here showing input capability showing wide-layout

0 голосов
/ 29 мая 2013

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

0 голосов
/ 19 января 2011

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

...