2009-02-12 4 views
2

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

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

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

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

Любое из этого возможно?

ответ

1

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

2

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

  • Добавить кнопку Округлой Rect к представлению
  • В инспекторе:
    -switch типа в «Custom»
    -set фона с изображением вашей новой кнопки
    -местных текст в «Название»

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

0

Вы можете подклассифицировать UIView и иметь несколько UIButtons, сложенных вместе. Для того, чтобы иметь каждую кнопку образует форму с правой стрелкой вы могли бы просто использовать растяжение изображения и установите 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

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

Смежные вопросы