Стиль сегментированных кнопок управления на iPhone? - PullRequest
2 голосов
/ 12 февраля 2009

Можно ли изменить стилизацию родных кнопок iPhone? Например, я хотел бы использовать меньший размер шрифта для части текста кнопки и больший для другой - что-то вроде

<small>pick a</small><big>color</big>

Я также хотел бы использовать кнопки, которые формируют форму стрелки вправо, а не прямоугольные. Что-то вроде:

---------------------------------
\ Color  \   Size    \    Shape  \
/        /           /           /
----------------------------------

Что-нибудь из этого возможно?

Ответы [ 3 ]

2 голосов
/ 15 февраля 2009

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

  • Добавление закругленной кнопки Rect в представление
  • В инспекторе:
    - переключите тип на «Custom»
    установить фон для изображения вашей новой кнопки
    Поместить текст в «Заголовок»

Обязательно используйте фоновое изображение кнопки, если хотите использовать свойство текста кнопки (Заголовок)

1 голос
/ 12 февраля 2009

Я не думаю, что вы можете сделать это легко. Возможно, вам придется создать подкласс UISegmentedControl и переопределить несколько методов. Чтобы получить шрифты разного размера для текста кнопки, вам нужно создать несколько UILabel s в качестве подпредставлений и дать каждому соответствующий текст и размер шрифта, а затем выложить их. Чтобы получить форму со стрелкой вправо, вам нужно переопределить метод drawRect:, чтобы нарисовать фон элемента управления.

0 голосов
/ 20 сентября 2011

Вы можете создать подкласс UIView и объединить несколько кнопок UIBiew. Чтобы каждая кнопка сформировала форму стрелки вправо, вы можете просто использовать растягиваемое изображение и установить для фона UIButtons этот UImage:

UIImage* buttonImage =[[UIImage imageNamed:@"arrowImage.png"] 
       stretchableImageWithLeftCapWidth:5.0 topCapHeight:0.0];

Вот хорошая отправная точка: https://github.com/boctor/idev-recipes/tree/master/CustomSegmentedControls

Я играл с этим и изменил, чтобы я мог настроить ширину каждого сегмента и некоторые другие настройки, вот мой форк: https://github.com/janfsd/idev-recipes/tree/master/CustomSegmentedControls

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

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