CAlayer的contents属性设置图层要显示的图片,我们要给contents属性赋值的类型应该是CGImageRef类型,UIImage对象有一个CGImage属性,它返回的是一个CGImageRef类型的数据,但是CGImageRef并不是一个真正的cocoa对象,而是一个Core Foundation对象,所以我们需要利用bridged关键字将其转化为cocoa对象。
使用contents属性:
self.centerLayer = [CALayer layer]; UIImage *image = [UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"麦克风" ofType:@"png"]]; self.centerLayer.frame = CGRectMake(60, 100, 200, 200); self.centerLayer.contents = (__bridge id)image.CGImage; [self.view.layer addSublayer:self.centerLayer]; self.centerLayer.backgroundColor = [UIColor redColor].CGColor;
得到结果如图:
本文由 投稿者 创作,文章地址:https://blog.isoyu.com/archives/tucengdecontentscontentsgravitycontentsrectanglecontentscenter.html
采用知识共享署名4.0 国际许可协议进行许可。除注明转载/出处外,均为本站原创或翻译,转载前请务必署名。最后编辑时间为:3 月 11, 2019 at 04:36 下午