Как сделать пользовательский модальный пользовательский интерфейс таким? - PullRequest
2 голосов
/ 25 октября 2011

Мне нужно модальное представление в приложении для iPhone, где я буду отображать несколько ярлыков, один UIImageView и две кнопки.Дизайн должен быть полностью индивидуальным.Это пользовательский UIAlertView?Как сделать что-то похожее?

UIView in Tweetboot

Ответы [ 5 ]

6 голосов
/ 25 октября 2011

Джефф Ламарш (Jeff LaMarche) опубликовал отличную запись в блоге о том, как создать собственное представление оповещений. Вы можете черпать вдохновение оттуда.

http://iphonedevelopment.blogspot.com/2010/05/custom-alert-views.html

** ОБНОВЛЕНИЕ 24 апреля 2017 года ** К сожалению, блог больше не существует. Однако вы можете получить сообщение из веб-архива: https://web.archive.org/web/20160430051146/http://iphonedevelopment.blogspot.com/2010/05/custom-alert-views.html

2 голосов
/ 14 августа 2012

Вы можете приобрести это, просто выполнив следующие шаги

  1. Создайте UIview (ViewA) размером 320 * 480, чтобы оно охватывало весь экран iPhone с фоном, установленным в clearColor. Это послужит суперобзором для нашей цели;
  2. Создайте еще один UIView (ViewB) размером 320 * 480 с цветом фона, установленным на черный, и непрозрачностью до 40%. 3. Теперь вы можете добавить любой вид на ViewB.
  3. Теперь добавьте ViewB в ViewA.

Наконец, вы можете представить этот вид там, где это требуется. Эффект будет таким: ViewA покроет фоновый viewController, ViewB будет работать как подавляющий эффект для контроллера фонового представления, а представления на B - это UIElement, который вы увидите.

2 голосов
/ 25 октября 2011

См. Источник для библиотеки Tapku .У них есть эта опция - вы всегда можете взломать / настроить исходный код.Хотя это не так сложно, просто много магии слоев (например, эффект виньетки).и большинство активов - изображения.Вам просто нужно правильно разобраться.

1 голос
/ 25 октября 2011

Сделать такой взгляд просто. Вам просто нужно создать собственное представление с кусочками, которые вы хотите, и просто сделать его скрытым или установить альфа на 0.0. Затем снимите его, когда захотите его использовать.

Чтобы предотвратить взаимодействие с другими элементами за представлением, поместите пустое полупрозрачное представление прямо за настраиваемым представлением.

0 голосов
/ 25 октября 2011
        UIAlertView *alert = [[[UIAlertView alloc] initWithTitle:@"\n\Please wait. \n Authorising Credentials..." message:nil delegate:self cancelButtonTitle:nil otherButtonTitles: nil] autorelease];   
        UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(220, 10, 40, 40)];
        NSString *path = [[NSString alloc] initWithString:[[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"smile.png"]];
        UIImage *bkgImg = [[UIImage alloc] initWithContentsOfFile:path];
        [imageView setImage:bkgImg];
        [bkgImg release];
        [path release];
        [alert addSubview:imageView];
        [imageView release];
        [alert addButtonWithTitle:@"Cancel"];
        [alert show];
...