iPhone - настройка размера UIActionSheet - PullRequest
1 голос
/ 23 ноября 2010

Мне нужно представить таблицу UIActionSheet, которая будет отображать 10 кнопок.Когда я делаю это на iPad, UIActionSheet показывает на поповере, который очень длинный по вертикали (не эстетично).Можно ли указать максимальный размер UIActionSheet?

Я пробовал это

myActionSheet.frame = CGRectMake(0,0,300,300);
myActionSheet.bounds = CGRectMake(0,0,300,300);

и также пытался поместить эти строки внутри

- (void)willPresentActionSheet:(UIActionSheet *)actionSheet {

без успеха.

какие-либо подсказки?

спасибо

Ответы [ 2 ]

2 голосов
/ 23 ноября 2010

Я думаю, что это один из случаев, когда вы не можете использовать встроенный класс, такой как UIActionSheet, для достижения своей цели. Я не думаю, что она предназначена для случаев, когда у вас столько кнопок, сколько 10. Она просто не очень хорошо масштабируется, как вы обнаружили.

Но давайте представим, что можно было бы изменить размер. Что должно произойти, когда вы измените размер? Существует минимальный размер для каждой кнопки, чтобы ее можно было коснуться. И вам также нужно некоторое пространство между кнопками, чтобы не вызвать ошибку. Таким образом, даже если бы вы могли изменить размер, его нельзя было бы сильно уменьшить. А поскольку он не предназначен для изменения размера, вам нужно будет попробовать получить доступ ко всем кнопкам, а также изменить их размер и переместить их. Можно утверждать, что, возможно, кнопки можно было бы поместить в столбцы, но поскольку это не реализовано, все равно не поможет, если вы сделаете UIActionSheet шире.

Я бы порекомендовал вам либо:

  1. Создайте свой собственный вид со всеми 10 кнопками, расположенными так, как вам нравится.
  2. Используйте представление таблицы для представления параметров. Поскольку просмотр таблицы можно прокручивать, вы можете получить размер, который вам нравится.

Если вы установите modalInPopover на YES на UIViewController, который вы видите в всплывающем окне, пользователь должен сделать выбор, прежде чем он сможет двигаться дальше.

0 голосов
/ 23 ноября 2010

попробуйте с помощью `- (void) showFromRect: (CGRect) rect inView: (UIView *) view animated: (BOOL) animated, потому что в документации Apple говорится:« На iPad этот метод отображает лист действий во всплывающем окне,стрелка указывает на указанный прямоугольник представления. Всплывающее окно не перекрывает указанный прямоугольник. "

`

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...