UIActionsheet в середине экрана - PullRequest
0 голосов
/ 27 апреля 2011

Я хочу показать UIActionSheet в середине экрана. Я попытался с помощью следующего кода

UIView *placeholderview=[[UIView alloc]initWithFrame:CGRectMake(0, 310, 320, 100)];
[self.view addSubview:placeholderview];
UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:@"" delegate:self cancelButtonTitle:@"Cancel" destructiveButtonTitle:nil otherButtonTitles:@"Open File",@"Save FIle",@"New File",@"Export Image",nil];
[actionSheet showFromRect:CGRectMake(0,0, 320, 10) inView:placeholderview animated:YES];
[actionSheet release];

Я получаю желаемый результат, но я могу нажать только кнопку отмены и половину кнопки экспорта изображения. Я не знаю, где я ошибаюсь. Пожалуйста, помогите мне любым органом. Что я должен сделать, чтобы сделать это работает. enter image description here

Ответы [ 2 ]

4 голосов
/ 27 апреля 2011

UIActionSheet предназначен для представления в нижней части экрана.

Предоставляет методы представления с панели инструментов или панели вкладок в тех случаях, когда эти элементы пользовательского интерфейса могут стать причиной препятствий.

Почему вы хотите показать лист действий в середине экрана.Я бы не рекомендовал это, потому что он выглядит неправильно и не предназначен для поведения элемента управления.

Метод, который вы используете в настоящее время, предназначен для iPad - его не следует использовать на iPhone, так как это вызываетнеопределенное поведение (как вы испытываете).

3 голосов
/ 27 апреля 2011

UIActionSheet s showFromRect:inView:animated: метод должен использоваться только на iPad.Его поведение на iPhone не определено.

...