繁体   English   中英

如何创建一个非矩形的UIImageView

[英]How to create a non-rectangular UIImageView

我试图做一个ViewController来从这样的网页上显示信息:

http://i.stack.imgur.com/TH6iV.jpg

但是,我对一件事感到困惑。 他们如何获得imageView来显示在角落被截断(即非矩形)的图像? 您是否认为他们在Photoshop中创建了该播放器卡并将其用作imageView图像的背景,还是他们以编程方式创建了它?

我想知道图像是否在熊的照片后面,所以我想如果他们在Photoshop中创建背景,他们将如何获得熊头后面的图像? 他们不能只创建带有玩家照片的卡,然后加载整个图像,因为如果他们交易了玩家,因为我确定他们从网络上提取了玩家信息和图片,这样他们就可以拥有即使所有玩家在赛季中期交易或购买新玩家,也无需更新应用程序(并将完成的图像添加到images.xcassets )即可获得所有用户的images.xcassets

这可以在运行时由两个CALayers组成。 将图片放在最底层; 图片可以来自任何地方-网络,捆绑软件等。图片来源可能是动态的。

将另一个CALayer放在顶部,用不透明的颜色渲染框架,并在中间放置图片的透明切口:

层数

有很多方法可以做到这一点。 一种简单而灵活的方法是创建一个与图像视图大小相同的CAShapeLayer,其原点为0,0,并将其添加为UIImageView图层的蒙版。

您将创建一个填充的UIBezierPath,以映射要显示的图像部分,并将贝塞尔曲线路径的CGPath安装到遮罩层的path属性中。

结果将是裁剪图像视图,以便仅绘制形状内的部分。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM