Um ein Pickerview zum Beispiel als Modalen Dialog zur Auswahl eines Wertes zu nutzen kann ein UIActionSheet verwendet werden.
Zu erst muss das ActionSheet und den UIPickerView instanziieren:
UIActionSheet *pickerActionSheet = [[UIActionSheet alloc]
initWithTitle:nil
delegate:self
cancelButtonTitlte:nil
destructiveButtonTitle:nil
otherButtonTitles:nil];
UIPickerView *pickerView = [[UIPickerView alloc] initWithFrame:CGRectMake(0, 244, 320, 216)];
In meinem Beispiel verwende ich noch eine UINavigationBar um das ActionSheet zu schließen und die Auswahl zu übernehmen, diese werden wie folgt instanziiert:
UINavigationBar *navBar = [[UINavigationBar alloc] initWithFrame:CGRectMake(0, 200, 320, 44)];
UIBarButtonItem *closeButton = [[UIBarButtonItem alloc] initWithTitle:@"Fertig" style:UIBarButtonSystemItemDone target:self action:@selector(closePickerAction:)];
UINavigationItem *item = [[UINavigationItem alloc] initWithTitle:@""];
item.rightBarButtonItem = closeButton;
item.hidesBackButton = YES;
Im Beispiel sieht man auch wie man den @selector verwendet um ein Event auf einen Button zu legen. Target ist dabei das Objekt wo die Methode closePickerAction aufgerufen wird.
Die Elemente müssen nun noch auf das ActionSheet gelegt werden und das ActionSheet zur Anzeige gebracht werden:
[pickerAction addSubview:navBar];
[pickerAction addSubview:pickerView];
[pickerAction showInView:self.view];
[pickerAction setFrame:CGRectMake(0, 0, 320, 480)];
[navBar release];
[closeButton release];
[item release];
[pickerView release];
[pickerAction release];