2011-01-19 3 views
11

Кажется, что я всегда сражаюсь с UIAlertView, чтобы заставить его делать то, что я хочу. Есть любые надежные замены UIAlertView со следующими особенностями, или мне нужно написать свой собственный ?:Замена UIAlertView

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

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

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

+0

@ skaffman - как вы удалили тэг iphone-ui? – TomSwift

+3

Возможно, потому, что это не тег, который используется вообще (0 вопросов), и поэтому ничего не добавит? –

ответ

17

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

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

Так что я написал свои собственные. 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

+1

Привет, TomSwift, Спасибо за этот замечательный проект. Я собирался начать такой проект, пока не перешел на ваш TSAlertView. Очень круто. Теперь я использую его в одном из моих приложений. ;-) –

+0

Это потрясающе. Благодарим вас за отличную и удобную замену с открытым исходным кодом для чего-то сложнее, чем в iOS. – buildsucceeded

0

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

+0

спасибо за ссылку. Я испугался этого, когда я просмотрел код и нашел это: - (void) ResizeAlertView: (UIAlertView *) alertView { \t CGFloat height = view_.frame.size.height + 110; \t \t alertView.frame = CGRectMake (15.0f, (460-height)/2, 300.0f, height); } – TomSwift

+0

также, мое предпочтение относится к чему-то, не полученному из UIAlertView. – TomSwift

+0

Вам придется либо создать собственную реализацию UIAlertView (что более похоже на кошмар, чем настройку), либо просто настроить его, это не так сложно, как вы ожидали. – WrightsCS