Как создать «фото по электронной почте, MMS, Назначить контакт ...» в альбоме iPhone, как скользящий вид? - PullRequest
0 голосов
/ 21 марта 2010

Я узнал, как создать контроллер представления и сделать его скользящим снизу. Но тот в альбоме iphone выглядит по-другому. Затемняется остальная часть видимой части экрана, когда вид перемещается внутрь. Как мне создать подобную? Я хочу добавить такие кнопки, как «сохранить, отменить, отправить по электронной почте» и т. Д. В скользящее представление.

1 Ответ

3 голосов
/ 21 марта 2010

На самом деле это не типичное "скользящее" (или модальное) представление, а 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
    }
}
...