簡體   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