Пользовательский цвет границы представления с использованием ColorWithPatternImage вызывает ошибку в iOS 6.1?

    myView = [[UIView alloc] init];

    myView.layer.borderColor = [UIColor colorWithPatternImage:@"color.png"];

Вторая строка выдает ошибку. Неявное преобразование типа указателя OBjective-C «UIColor» в тип указателя «CGColorRef» требует мостового приведения.

Что это за ошибка и как ее решить.


person Duaan    schedule 28.07.2013    source источник


Ответы (1)


Строка должна быть:

myView.layer.borderColor = [[UIColor colorWithPatternImage:@"color.png"] CGColor];

Потому что у вас есть UIColor, но слой, как описано в ошибке, требует CGColorRef.

person Wain    schedule 28.07.2013
comment
Завершение работы приложения из-за необработанного исключения «NSInvalidArgumentException», причина: «-[__NSCFConstantString _tiledPatternColor]: нераспознанный селектор отправлен экземпляру 0x2aa7b8» - person Duaan; 28.07.2013
comment
Это ошибка, приложение Crash, в этой строке одно предупреждение. он говорит, что неполный тип указателя отправляет nsstring в параметр типа uiimage - person Duaan; 28.07.2013
comment
myView.layer.borderColor = [[UIColor colorWithPatternImage:[UIImage imageNamed:@color.png]] CGColor]; - person Duaan; 28.07.2013
comment
Я так сделал, теперь все работает :) myView.layer.borderColor = [[UIColor colorWithPatternImage:[UIImage imageNamed:@color.png]] CGColor]; - person Duaan; 28.07.2013