Как создать пользовательское всплывающее окно для iPhone?

Я хочу создать пользовательское всплывающее окно для iPhone, которое должно выглядеть так: enter image description here

каков наиболее правильный способ реализации этого для устройств iPhone и iPod?

5 ответов


лучший способ сделать это-использовать UIActionSheet. Код здесь:

UIActionSheet *actionSheet = [[UIActionSheet alloc]initWithTitle:@"Share" delegate:self cancelButtonTitle:@"Cancel" destructiveButtonTitle:nil otherButtonTitles:@"Facebook",@"Twitter", nil];
[actionSheet showInView:self.view];

UIActionSheet поставляется снизу вверх с определенным количеством кнопок, которые вы хотите отобразить. Вы также можете поместить кнопку отмены, которая автоматически отклонит UIActionSheet.

вот как это будет выглядеть:

enter image description here


вы должны попробовать сторонние классы для пользовательских всплывающих окон. Некоторые из них

1.) CMPopTipView
2.) KBPopupBubble
3.) ADPopupView


для этого используется сторонний контроль.

здесь Ссылка вы можете скачать этот проект.


существует много способов. Я бы сделал этот код лично:

// create view popup
UIView *viewPopup = [[UIView alloc] initWithFrame:CGRectMake(x, y, width, height)];
[self.view addSubview:viewPopup];

// create Image View with image back (your blue cloud)
UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(x, y, width, height)];
UIImage *image =  [UIImage imageNamed:[NSString stringWithFormat:@"myImage.png"]];
[imageView setImage:image];
[viewPopup addSubview:imageView];

// create button into viewPopup
UIButton *buttonTakePhoto = [[UIButton alloc] initWithFrame:CGRectMake(x, y, width, height)];
[viewPopup addSubview: buttonTakePhoto];
[buttonTakePhoto setTitle:@"Take Photo" forState:UIControlStateNormal];
[buttonTakePhoto addTarget:self action:@selector(actionTakePhoto) forControlEvents:UIControlEventTouchDown];
[viewPopup addSubview:buttonTakePhoto];

вы можете анимировать Альфа-viewPopup при нажатии на значок камеры, такие как включение/выключение viewPopup.


самый простой способ реализовать то, что вы просите, - создать представление, которое выглядит так, как вы хотите, и содержит соответствующие UIButtons, а затем добавить его в качестве подвида (и анимировать его внешний вид, как вы хотите) при нажатии кнопки камеры. Хотя комментарий на ваш вопрос от Fonix верен в том, что листы действий предназначены для использования для этой цели в iOS.