2016-12-08 6 views
0

Я хочу создать объект ImageView, но когда я использую свойство contentRect для создания, результат имеет любую тень, помогите мне.Как устранить тень в iOS

Посмотрите этот код:

CALayer *blueLayer = [CALayer layer]; 
blueLayer.frame = CGRectMake(50.0f, 50.0f, 100.0f, 200.0f); 
blueLayer.backgroundColor = [UIColor blueColor].CGColor; 
UIImage *image = [UIImage imageNamed:@"vclrs_me_wodeshoucang"] ; 
CGImageRef imageRef = image.CGImage ; 
blueLayer.contents = (__bridge id _Nullable)imageRef ; 
blueLayer.contentsGravity = kCAGravityCenter ; 
blueLayer.contentsRect = CGRectMake(0, 0, 2, 2) ; 
blueLayer.contentsScale = image.scale ; 
[self.layerView.layer addSublayer:blueLayer]; 

И, пожалуйста, прочитайте результат (фото): enter image description here

ответ

0

https://developer.apple.com/reference/quartzcore/calayer/1410866-contentsrect?language=objc

Согласно вышеуказанной документации

По умолчанию блок прямоугольник (0.0, 0.0, 1.0, 1.0).

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

Если имеется пустой прямоугольник, результаты не определены.

Так в соответствии с ним он даст такой вывод

image

+0

Эта строка кода, которая не имеет никакого эффекта – user5465320

+0

Если вы не возражаете, может вы пришлите мне свой проект на [email protected], чтобы я мог правильно рассмотреть, с какими проблемами вы столкнулись? –

+0

Был отправлен, пожалуйста, проверьте. Спасибо – user5465320

0

Try набор self.layerView.clipsToBounds = YES