Как создать в альбоме iPhone «фото по электронной почте, MMS, назначить контакту…» в виде скользящего просмотра?
-
21-09-2019 - |
Вопрос
Я узнал, как создать контроллер представления и заставить представление скользить снизу.Но тот, что в альбоме iphone, выглядит по-другому.Он затемняет остальную видимую часть экрана при перемещении изображения.Как создать аналогичный?Я хочу добавить в скользящее представление такие кнопки, как «сохранить, отменить, отправить по электронной почте» и т. д.
Решение
На самом деле это не типичный «скользящий» (или модальный) вид, а UIActionSheet.По сути, идея состоит в том, что вы инициализируете представление (обычно в вашем контроллере представления) с помощью
UIActionSheet *sheet =
[[[UIActionSheet alloc] initWithTitle:@"My sheet"
delegate:self
cancelButtonTitle:@"Cancel"
destructiveButtonTitle:nil
otherButtonTitles:@"Email", @"MMS", nil] autorelease];
Затем представьте его, используя
[sheet showInView:[self view]];
Как только он появится на экране, делегат (self
, или ваш контроллер представления в этом примере) получит UIActionSheetDelegate сообщение actionSheet:clickedButtonAtIndex:
(а также некоторые другие;дополнительную информацию см. в документации), поэтому вам нужно добавить <UIActionSheetDelegate>
к объявлению вашего интерфейса для делегата и реализуйте этот метод, например
- (void)actionSheet:(UIActionSheet *)actionSheet
clickedButtonAtIndex:(NSInteger)buttonIndex {
switch(buttonIndex) {
// Do things based on which button was pushed
}
}