Проблема с тенью текста в UIActionsSheet

У меня проблема с тенью текста кнопок UIActionSheet. В iOS 4.0.2 длинные строки автоматически обрезались. Нет, в iOS 4.2 эти тексты представлены более мелким шрифтом. Но теперь смещение тени искажено и слишком велико.

Есть ли возможность изменить/удалить тень текста UIActionSheet. альтернативный текст

РЕДАКТИРОВАТЬ: я создаю UIActionSheet не с initWithTitle:, а с обычным init и впоследствии устанавливаю все необходимые свойства, потому что количество возможных кнопок является динамическим, а тексты не могут быть изменены. Я проверил это с initWithTitle: и получил те же результаты.


person AlexVogel    schedule 27.12.2010    source источник


Ответы (4)


Вы можете сослаться на это, чтобы обрезать строку перед отображением его в UIActionSheet.

person raaz    schedule 31.12.2010
comment
Это не совсем тот ответ, который я хотел получить. Ручное усечение строк — только второй лучший способ. - person AlexVogel; 03.01.2011

Я думаю, что для этого есть два обходных пути (хотя я бы не стал их использовать в своем приложении, причина указана ниже обходных путей):

  • В первом случае вы получаете доступ к подслоям UIActionSheet, получаете метки, меняете shadowOffset и shadowColor перед представлением листа действий.
  • Во-вторых, вы можете инициализировать лист действий с пустыми заголовками и добавлять свои собственные метки в качестве подпредставлений на листе действий в нужных местах. (Более сложный, чем первый подход).

Теперь первый подход очень рискован, так как Apple может изменить структуру слоев UIActionSheet в будущих обновлениях, поэтому ваше приложение может сломаться и не даст хороших результатов.

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

Следовательно, я бы пошел на усечение строк, прежде чем установить их в качестве заголовков кнопок.

Не уверен, насколько это поможет. Но я уверен, что усечение строк перед установкой их в качестве заголовков — лучший вариант.

person Madhup Singh Yadav    schedule 04.01.2011

Вы делаете что-то не по умолчанию для отображения текста?
Если вы используете только UIActionSheet-initWithTitle:…, вы должны написать отчет об ошибке в Apple.
ИЛИ сократите текст до «Frankfurt International (FRA), DE» ;)

person Community    schedule 27.12.2010

Кажется, это исправлено в 4.30. Я не нашел способа исправить это в 4.2x.

person vlad259    schedule 11.04.2011