Настройка UIButton - PullRequest
       6

Настройка UIButton

3 голосов
/ 21 апреля 2011

Я видел во встроенных приложениях для iphone, что есть красная кнопка UIB delete.У меня вопрос, как мне изменить цвет кнопки.Обычно в инспекторе атрибутов есть атрибут 'tint', но его нет при использовании UIbutton.Есть ли способ программно изменить цвет?Я ценю любую помощь.

Ответы [ 3 ]

3 голосов
/ 21 апреля 2011

Вы можете сделать кнопки с цветами, используя слой кнопки.Сначала добавьте платформу QuartzCore в свой проект.Затем добавьте #import <QuartzCore/QuartzCore.h> в ваш класс просмотра.Чтобы сделать красную кнопку, сделайте это

UIButton *myButton = [UIButton buttonWithType: UIButtonTypeCustom];
[myButton setFrame: CGRectMake(10.0f, 10.0f, 300.0f, 44.0f)];
[[myButton layer] setBackgroundColor: [[UIColor redColor] CGColor]];
[self addSubview: myButton];
[myButton release];

Надеюсь, это поможет!

3 голосов
/ 17 июля 2012

Если ваша кнопка имеет тип UIButtonTypeRoundedRect вместо UIButtonTypeCustom, настройка цвета фона на слое не работает.

Попробуй, у меня все работает.

UIButton *myButton = [UIButton buttonWithType: UIButtonTypeRoundedRect];

CAGradientLayer *gradient = [CAGradientLayer layer];
gradient.frame = self.buttonAddToOrder.bounds;
gradient.colors = [NSArray arrayWithObjects:(id)[[UIColor redColor] CGColor], (id)[[UIColor redColor] CGColor], nil];
gradient.cornerRadius = 10;

[myButton.layer insertSublayer:gradient atIndex:0];

Надеюсь, это поможет.

3 голосов
/ 21 апреля 2011

Этот цвет оттенка для UIButton доступен только для UIGlassButton, который является приватным недокументированным API. Некоторые решения, связанные с использованием недокументированного API private , заключаются в использовании изображений или попытке рисования собственного градиента .

Ресурсы:

UIGlassButton в iPhone

http://cocoawithlove.com/2008/09/drawing-gloss-gradients-in-coregraphics.html

https://github.com/dermdaly/ButtonMaker

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