Как я могу добиться аналогичного вида меню? [Ios] - PullRequest
1 голос
/ 01 августа 2011

Есть ли способ легко открыть это меню с помощью sdk или мне нужно сделать это вручную (комбинируя вид наложения и другой вид с помощью кнопок)?

enter image description here

Заранее спасибо!

Ответы [ 2 ]

4 голосов
/ 01 августа 2011

Это класс UIActionSheet из стандартного фреймворка UIKit

0 голосов
/ 02 февраля 2014

Простой пример из Документация Apple из UIActionSheet немного расширено мной для запуска действия вызова.

enter image description here Delcare в глобальном масштабе ViewController: UIActionSheet * actionSheet; и UIView * yourView;

Int viewDidLoad:

actionSheet = [[UIActionSheet alloc] initWithTitle:nil
                             delegate:self
                             cancelButtonTitle:@"Cancel"
                             destructiveButtonTitle:@"Delete Note"
                             otherButtonTitles:@"Call",@"Add a Contact",nil];

[yourView = self.view]

Чтобы открыть меню по какой-либо объявленной кнопке с IBAction, вам потребуется:

-(IBAction)viewMapButton:(id) sender
{
    [actionSheet showInView:yourView];

}

Чтобы предпринять соответствующие действия в зависимости от выбора пользователя, объявите следующий метод и проверьте, что [actionSheet buttonTitleAtIndex:buttonIndex] было равно:

- (void)actionSheet:(UIActionSheet *)actionSheet
        clickedButtonAtIndex:(NSInteger)buttonIndex
        {
        NSString * what_action = [actionSheet buttonTitleAtIndex:buttonIndex];
        NSLog(@"The %@ button was tapped.", what_action);
             if ([what_action isEqualToString:@"Call"])
                 {
                 NSString *phoneNumber = [[NSString alloc] 
                        initWithString:@"telprompt:1234567890"];
                 [[UIApplication sharedApplication] 
                        openURL:[NSURL URLWithString:phoneNumber]];
                 }
}

[ПРИМЕЧАНИЕ: запуск звонка не работает на iOS Simulator]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...