Как создать в альбоме iPhone «фото по электронной почте, MMS, назначить контакту…» в виде скользящего просмотра?

StackOverflow https://stackoverflow.com/questions/2486362

Вопрос

Я узнал, как создать контроллер представления и заставить представление скользить снизу.Но тот, что в альбоме 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
    }
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top