Настройка UIAlertView

У кого-нибудь есть код, чтобы сделать это:

UIAlertViewHack http://sofru.miximages.com/iphone/UIAlertViewHack.png

или еще лучше, grid 3×2 кнопок с изображениями с использованием объекта UIAlertView?

Меня не интересует текстовое поле, это кнопки в сетке, которые я хочу (желательно с изображениями, а не с текстом).

Я считаю, что лучше всего забыть настраивать представление UIAlert и самостоятельно создавать собственное представление.

Во-первых, то, что вы показываете, действительно не является «предупреждением», поэтому оно противоречит тому, для чего предназначен UIAlertView. Это означает, что вы меняете парадигму интерфейса пользователя, которая никогда не является хорошей идеей.

Во-вторых, было бы намного проще анимировать пользовательский вид на месте, чем пытаться взломать UIAlertView, чтобы заставить его делать то, что вы хотите.

Сначала вам нужно сделать окно предупреждения больше, чтобы разместить свои элементы управления, но оно должно быть размещено в центре.

Для этого вместо того, чтобы устанавливать размер кадра, ваш текст сообщения с «\ n» s не указан. например:

alert = [[UIAlertView alloc] initWithTitle:@"Rate this picture." message:@"Tap a star to rate.\n\n\n\n " /*------ look at here!!----*/ delegate:self cancelButtonTitle:nil otherButtonTitles:nil]; 

Затем используйте команду UIAlertViewDelegate для предупреждения.

переопределить его, viewWillAppear: добавить свои кнопки и установить их frameworks вручную в нужном месте.

ИЛИ: создать полный вид с помощью controllerа вида и добавить представление в поле предупреждения, например:

 [myalertview addSubvew:mycomplexalert]; 

Надеюсь, это придет вам на помощь 🙂

Я использую оповещения для ввода рейтинга со звездообразными изображениями, твиттерами, обратной связью fb и т. Д.

ОБНОВЛЕНИЕ iOS7:

Для iOS 7 создайте свой собственный вид с компонентами и установите его как вид аксессуара alertview:

 [alert setValue:imageView forKey:@"accessoryView"]; 

Это просто 🙂

В этом руководстве описывается, как подclassифицировать UIAlertView для ввода текстового поля ввода. В нем объясняется, как увеличить вид, добавить объекты (например, текстовые поля или изображения) и сделать преобразование для перемещения windows вверх на экране.

Я написал почти идеальную замену UIAlertView, которая также полностью настраивается. Посмотрите на CODialog, если он соответствует вашим потребностям.

Для этого нет встроенных компонентов. UIAlertView должен иметь только текст и кнопки в соответствии с документом HIG.

Вам нужно будет создать собственное представление и добавить к нему элементы управления. Пример HeadsUpUI в SDK показывает, как показать пользовательское представление в виде меню как оверлей.

Надеюсь, это поможет.

Давайте будем гением компьютера.