[英]How to create a non-rectangular UIImageView
我试图做一个ViewController
来从这样的网页上显示信息:
但是,我对一件事感到困惑。 他们如何获得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.