Подтвердить что ты не робот

Как ввести аргумент в CGContextSetRGBFillColor?

Я пытаюсь ввести аргументы для CGContextSetRGBFillColor с использованием типа данных. Например:

NSString *colorcode = ctx, 0, 1, 0, 0; 
CGContextSetRGBFillColor(colorcode);

Но я получаю сообщение об ошибке, что у меня слишком мало аргументов.

Я хочу изменить аргументы (ctx, 0, 1, 0, 1 ), отправленные на CGContextSetRGBFillColor, в зависимости от действий пользователей.

Я хочу ввести аргумент для CGContextSetRGBFillColor с использованием типа данных, потому что его значения задаются в отдельном контроллере представления. Или я могу напрямую ввести аргументы в CGContextSetRGBFillColor, а затем передать его другому контроллеру представления, чтобы использовать его?

4b9b3361

Ответ 1

Попробуйте использовать объект UIColor для сохранения выбранного пользователем цвета. Вы можете создать такой способ:

UIColor *color = [UIColor colorWithRed:0 green:1 blue:0 alpha:0];

Затем, когда нужно использовать его как цвет заливки, вы можете сделать это:

CGContextSetFillColorWithColor(ctx, color.CGColor);

Я должен упомянуть, что если вы не используете ARC, вам необходимо сохранить и отпустить цвет соответствующим образом.

Ответ 2

Похоже, что вам действительно нужно:

CGContextSetRGBFillColor (ctx, 0.0f, 1.0f, 0.0f, 1.0f);

Если каждый цветовой компонент имеет некоторую долю между 0.0 и 1.0.

Почему вы используете NSString?

Вот документация на веб-сайте Apple.

Ответ 3

Я хочу ввести аргумент для CGContextSetRGBFillColor, используя тип данных, потому что его значения задаются в отдельном контроллере представления.

Вам может быть интересен класс CGColor, или, в частности, iOS UIColor.

Или я могу напрямую вводить аргументы в CGContextSetRGBFillColor...

Это единственный способ ввода аргументов в CGContextSetRGBFillColor.

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

Это не имеет смысла. Принести что?

Если вы хотите довести цвет от одного контроллера представления до другого, лучше всего это сделать, создав цветной объект - либо CGColor, либо UIColor - и передав это.