Окраска UIB-кнопок типа UIButtonTypeRoundedRect - PullRequest
3 голосов
/ 18 января 2010

Мне бы хотелось, чтобы часть прямоугольника с закругленными углами типа объекта UIButton была сплошным настраиваемым цветом, который я указываю.Я понимаю, что

.setTitleColor: изменяет цвет текста.backgroundColor: изменяет цвет четырех угловых фигур в форме кругов за прямоугольником с закругленными углами

Вопрос в том, как изменить цвет прямоугольника с закругленными углами.

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

Заранее спасибо.

Ответы [ 4 ]

2 голосов
/ 05 ноября 2012

Попробуйте

CALayer *subLayer = [CALayer layer];
subLayer.frame = self.theButton.bounds;
subLayer.cornerRadius = 10.0;
subLayer.opacity = 1.0;

CALayer *imageLayer = [CALayer layer];
imageLayer.frame = subLayer.bounds;
imageLayer.cornerRadius = 10.0;


imageLayer.masksToBounds = YES;
imageLayer.opacity = 1.0;
imageLayer.contents = (id) [UIImage imageNamed:@"your.png"].CGImage;

[subLayer addSublayer:imageLayer];

[self.theButton.layer addSublayer:subLayer];
1 голос
/ 19 января 2010

Вы можете попробовать захватить слой и установить его угловой радиус с помощью пользовательской кнопки. Я не пробовал, но стоит попробовать.

[[button layer] setCornerRadius:12.0f];
[[button layer] setMasksToBounds:YES];
[[button layer] setBackgroundColor:[[UIColor redColor] CGColor]];

Вам потребуется добавить инфраструктуру QuartzCore в ваш проект (и #import), чтобы воспользоваться этими методами.

Просто дополнение, в этом случае вы используете тип кнопки как «Пользовательский». Таким образом, кнопка может быть объявлена ​​как: UIButton * button = [[UIButton buttonWithType: UIButtonTypeCustom] сохранить];

0 голосов
/ 25 февраля 2010

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

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

Кроме этого, я на самом деле не думаю, что это можно сделать ... Не уверен ...

0 голосов
/ 19 января 2010

Работает ли использование backgroundColor из UIButton titleLabel?

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