2015-03-20 2 views
0

code Я использую для добавления CALayer в UIScrollView Layer.CALayer получает 1x изображение из изображений.xcassets для iPhone6 ​​и 6Plus

UIImage *icon = [UIImage imageNamed:@“testImage”]; 
CGFloat imageWidth = icon.size.width; 
CGFloat imageHeight = icon.size.height; 
CGFloat y = 10; 
CGFloat x = 10; 
CGRect rect = CGRectMake(x, y, imageWidth, imageHeight); 
CALayer *imageLayer = [CALayer layer]; 
imageLayer.frame = rect; 
imageLayer.contents = (id)icon.CGImage; 
[self.scrollView.layer addSublayer:imageLayer]; 

Спасибо за помощь.

Сообщите, если у вас есть другие idea. как example непосредственно получить @3x изображение от Images.xcassets.

+0

Вы видите это [сообщение] (http://stackoverflow.com/questions/28253551/uiimage-imagenamed-always-returns-image-at-1x) –

+0

Попробуйте изменить содержимое свойства Scale для CALayer. Значение по умолчанию этого свойства равно 1.0 – user3435374

+0

@HuyNghia я видел это сообщение раньше, но я не добавил никакого изображения за пределы imageAssest. так как я могу получить 2x или 3x изображение.? –

ответ

0

Просьба ознакомиться с содержимымОсновной собственности на CALayer class.

Он не устанавливается автоматически для версии 3.0 для iPhone6 ​​Plus. Автоматическая настройка выполняется только для классов View. Вы должны вручную установить его для объектов класса CALayer.