Я добавил UIActionsheet с динамическим количеством кнопок для контроллера UIPopover, который появляется, если отображается всплывающее окно.Моя проблема заключается в том, что если количество кнопок должно быть выше, то таблица UIActionsheet выходит за границы всплывающего окна, и кнопки не отображаются в виде списка.В альбомной ориентации лист действий показывает кнопки в виде списка, но размер листа действий снова больше, чем у всплывающего окна, так что текст в верхней части всплывающего окна не виден.
Я добавилUIActionsheet следующим образом:
BookingDataDefaults *defaults = [BookingDataDefaults getInstance];
if([defaults.profils count]>0){
UIActionSheet *actionSheet = [[UIActionSheet alloc]init];
actionSheet.delegate = self;
actionSheet.title = NSLocalizedString(@"title", nil);
int count = 0;
for (ReservationProfil *profil in defaults.profils) {
[actionSheet addButtonWithTitle:profil.profilName];
count++;
}
[actionSheet addButtonWithTitle:NSLocalizedString(@"standard", nil)];
count++;
[actionSheet addButtonWithTitle:NSLocalizedString(@"cancel", nil)];
actionSheet.destructiveButtonIndex = count;
[actionSheet showInView:self];
[actionSheet release];
}
Действие листа отлично работает с небольшим количеством кнопок.
Есть ли способ установить максимальный размер UIActionsheet или изменить что-либо на мой взглядчтобы избавиться от этой проблемы.
PS: размер представления во всплывающем окне в точности соответствует размеру содержимого.
РЕДАКТИРОВАТЬ:
I 'Мы тестируем решение Nitish, оно немного лучше, но не идеально, потому что подпредставления не меняют свой размер в соответствии с суперпредставлением.Лучшим решением было установить размер таблицы действий в соответствии с размером всплывающего окна.он помещает лист действий вверху всплывающего окна, но список слишком большой или не показан.Результат отображается внизу:
Старый портрет -> Новый портрет
Старый пейзаж -> Новый пейзаж