Próbuję wyświetlić UIActionSheet
na iPada z UIPickerView
w nim, mam równoważne działający kod dla iPhone więc moja UIPickerView
delegata i źródło danych stuff pracy, ale na iPadzie, gdy używam -[UIActionSheet showFromRect:inView:animated:]
wynik UIPopover
/UIActionSheet
jest o wiele za mały i nie mogę ustawić rozmiaru klatki, również żaden z przycisków nie jest wyświetlany.UIActionSheet na iPadzie ramie zbyt małej
Nie wiem, czy to dlatego, że są poza granicami, czy jest coś innego. Tak wygląda mój kod po usunięciu wszystkich nieistotnych kodów (iPhone itp.). Czy ktokolwiek wie, co robię źle, czy ktokolwiek zna jakieś przykłady.
CGRect thePickerFrame = CGRectMake(0, 0, 320.0, 485.0);
UIPickerView * thePickerView = [[UIPickerView alloc] initWithFrame:thePickerFrame];
[pickerActionSheet release], pickerActionSheet =
[[UIActionSheet alloc] initWithTitle:@"Choose" delegate:self
cancelButtonTitle:@"Cancel"
destructiveButtonTitle:nil
otherButtonTitles:@"Next", nil];
thePickerView.showsSelectionIndicator = YES;
thePickerView.dataSource = self;
thePickerView.delegate = self;
[pickerActionSheet addSubview:thePickerView];
[thePickerView selectRow:0 inComponent:0 animated:NO];
[thePickerView release];
[pickerActionSheet showFromRect:currentTextField.bounds
inView:currentTextField animated:NO];
pickerActionSheet.frame = thePickerFrame;
Po prostu trochę eksperymentowałem, aby zobaczyć, kiedy - [UIActionSheet setFrame:] jest wywoływana. Wydaje mi się, że po pętli zdarzeń, o której mowa powyżej, nazywana jest kolejną pętlą zdarzeń zainicjowaną przez wynik iOS w - [- UIActionSheet setFrame:] jest wywoływana z małą ramką, która jest wyświetlana. –
Nie jest lepiej dzięki funkcji Popover na iPadzie z tą funkcjonalnością? AFAIK ActionSheet służy tylko do przycisków. – Eimantas