#objective-c #xcode #text #rgb #uicolor
#uibutton #rgb #uicolor
Вопрос:
Я работаю над приложением для iPhone, которое использует различные цвета. Когда пользователь выбирает определенную цветную кнопку, я соответствующим образом устанавливаю цвет рисования. Я получаю цвет для некоторых, но в большинстве случаев я получаю белый цвет.
Вот мой код:
-(IBAction)colorSelected:(UIButton *)sender
{
switch (sender.tag)
{
case 1:
self.drawcolor= [UIColor colorWithRed:200 green:191 blue:231 alpha:1];
break;
case 2:
self.drawcolor= [UIColor colorWithRed:163 green:73 blue:164 alpha:1];
break;
case 3:
self.drawcolor= [UIColor colorWithRed:112 green:146 blue:76 alpha:1];
break;
case 4:
self.drawcolor= [UIColor colorWithRed:63 green:72 blue:204 alpha:1];
break;
case 5:
self.drawcolor= [UIColor colorWithRed:153 green:217 blue:234 alpha:1];
break;
case 6:
self.drawcolor= [UIColor colorWithRed:0 green:162 blue:232 alpha:1];
break;
case 7:
self.drawcolor= [UIColor colorWithRed:181 green:230 blue:29 alpha:1];
break;
case 8:
self.drawcolor= [UIColor colorWithRed:34 green:177 blue:76 alpha:1];
break;
case 9:
self.drawcolor= [UIColor colorWithRed:239 green:228 blue:176 alpha:1];
break;
case 10:
self.drawcolor= [UIColor colorWithRed:255 green:201 blue:0 alpha:1];
break;
case 11:
self.drawcolor= [UIColor colorWithRed:255 green:201 blue:14 alpha:1];
break;
case 12:
self.drawcolor= [UIColor colorWithRed:237 green:28 blue:36 alpha:1];
break;
case 13:
self.drawcolor= [UIColor colorWithRed:255 green:127 blue:39 alpha:1];
break;
case 14:
self.drawcolor= [UIColor colorWithRed:255 green:174 blue:201 alpha:1];
break;
case 15:
self.drawcolor= [UIColor colorWithRed:185 green:122 blue:87 alpha:1];
break;
case 16:
self.drawcolor= [UIColor colorWithRed:136 green:0 blue:21 alpha:1];
break;
case 17:
self.drawcolor= [UIColor colorWithRed:195 green:195 blue:195 alpha:1];
break;
case 18:
self.drawcolor= [UIColor colorWithRed:127 green:127 blue:127 alpha:1];
break;
case 19:
self.drawcolor= [UIColor colorWithRed:255 green:255 blue:255 alpha:1];
break;
case 20:
self.drawcolor= [UIColor colorWithRed:0 green:0 blue:0 alpha:1];
break;
default:
break;
}
self.preColor=self.drawcolor;
self.lineWidth=self.prelineWidth;
}
Может кто-нибудь сказать мне, что я делаю не так?
Sumit
Комментарии:
1. Я наткнулся на хорошую утилиту colorcode.globalmaverick.com это дает u Objective-c и swift полезный код непосредственно из шестнадцатеричного цветового кода или RGB.
Ответ №1:
Значения находятся в 0.0
1.0
диапазоне to.
Например, разделите на 255.
, но помните десятичную точку, чтобы получить деление с плавающей запятой, а не целочисленное деление.
Нравится
selectedColor = [UIColor colorWithRed:14.0/255.0 green:114.0/255.0 blue:199.0/255.0 alpha:1];
Комментарии:
1. Чтобы расширить ответ Матса, приведите его на примере: self.drawcolor =[UIColor colorWithRed:14.0 / 255.0 зеленый: 114.0 / 255.0 синий: 199.0 / 255.0 альфа:1];
Ответ №2:
Прагматичный подход с помощью Swift.
extension UIColor {
convenience init(rgbColorCodeRed red: Int, green: Int, blue: Int, alpha: CGFloat) {
let redPart: CGFloat = CGFloat(red) / 255
let greenPart: CGFloat = CGFloat(green) / 255
let bluePart: CGFloat = CGFloat(blue) / 255
self.init(red: redPart, green: greenPart, blue: bluePart, alpha: alpha)
}
}
Ответ №3:
У вас есть несколько вариантов
Код
CGFloat red = 16.0;
CGFloat green = 97.0;
CGFloat blue = 5.0;
CGFloat alpha = 255.0;
UIColor *color = [UIColor colorWithRed:(red/255.0) green:(green/255.0) blue:(blue/255.0) alpha:(alpha/255.0)];
Плагин выбора цвета для Конструктора интерфейсов
Есть хороший инструмент выбора цвета от Panic, который хорошо работает с IB: http://panic.com /~уэйд/сборщик/
Плагин Xcode
Это дает вам графический интерфейс для выбора цветов: http://www.youtube.com/watch?v=eblRfDQM0Go
Модули и библиотеки
Есть хороший модуль с именем MPColorTools
: https://github.com/marzapower/MPColorTools
Ответ №4:
Вот метод, который вы можете легко превратить в категорию в UIColor, который позволит вам указать цвет на основе значений RGBA от 0 до 255.
(UIColor *)colorFromRGBAWithRed:(CGFloat)red green:(CGFloat)green blue:(CGFloat)blue alpha:(CGFloat)alpha {
return [UIColor colorWithRed:red/255.0 green:green/255.0 blue:blue/255.0 alpha:alpha/255.0];
}
Если вы сделаете это расширением категории UIColor, вы можете использовать его следующим образом:
UIColor *myAwesomeColor = [UIColor colorFromRGBAWithRed:48 green:119 blue:167 alpha:255];
Ответ №5:
В Swift вы можете легко установить цвет фона, например, для такой ячейки:
cell.backgroundColor = UIColor.init(red: 14.0/255.0, green: 114.0/255.0, blue: 199.0/255.0, alpha: 1)
🙂
Ответ №6:
(ContentView.Layer.BorderColor) //CG Object
= UIColor.LightGray.CGColor;
Комментарии:
1. Пожалуйста, отредактируйте с дополнительной информацией. Ответы только для кода и «попробуйте это» не приветствуются, поскольку они не содержат содержимого с возможностью поиска и не объясняют, почему кто-то должен «попробовать это».