Проблемы с размером UIActionsheet в UIPopoverController - PullRequest
2 голосов
/ 06 июля 2011

Я добавил 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, оно немного лучше, но не идеально, потому что подпредставления не меняют свой размер в соответствии с суперпредставлением.Лучшим решением было установить размер таблицы действий в соответствии с размером всплывающего окна.он помещает лист действий вверху всплывающего окна, но список слишком большой или не показан.Результат отображается внизу:

Старый портрет -> Новый портрет

portrait oldportrait new

Старый пейзаж -> Новый пейзаж

Landscape oldLandscape new

...