1
好吧,我需要掩蓋一個水平的UICollectionView
,所以它看起來像一條絲帶。我的web開發人員用它用作遮罩層的SVG完成了它。正確掩蓋UIView(UICollectionView)
這裏是我所需要的(從我們的Web應用程序照片):在圖像間距一旁
,我可以成功地轉換成UIBezierPath代碼(Paintcode):
let pathPath = UIBezierPath()
pathPath.move(to: CGPoint(x: 0.05, y: 0))
pathPath.addCurve(to: CGPoint(x: 162.02, y: 3.8), controlPoint1: CGPoint(x: 0.05, y: 2.1), controlPoint2: CGPoint(x: 72.57, y: 3.8))
pathPath.addCurve(to: CGPoint(x: 324, y: 0), controlPoint1: CGPoint(x: 251.48, y: 3.8), controlPoint2: CGPoint(x: 324, y: 2.1))
pathPath.addLine(to: CGPoint(x: 324, y: 150.2))
pathPath.addCurve(to: CGPoint(x: 162.02, y: 154), controlPoint1: CGPoint(x: 324, y: 152.3), controlPoint2: CGPoint(x: 251.48, y: 154))
pathPath.addCurve(to: CGPoint(x: 0.05, y: 150.2), controlPoint1: CGPoint(x: 72.57, y: 154), controlPoint2: CGPoint(x: 0.05, y: 152.3))
pathPath.addCurve(to: CGPoint(x: 0, y: 0.17), controlPoint1: CGPoint(x: 0.05, y: 148.1), controlPoint2: CGPoint(x: 0, y: 0.17))
pathPath.usesEvenOddFillRule = true
UIColor.lightGray.setFill()
pathPath.fill()
現在我該怎麼辦?
謝謝斯科特。你一直在我的問題,大聲笑。你將如何編寫這個代碼來改變大小?我屏幕截圖的內容是一個「UITableViewCell」。所以,嵌入式的'UICollectionView'改變了幀。在某處覆蓋'layoutIfNeeded()'並在那裏繪製? –
好的。我編輯瞭解決縮放的答案。請注意,我正在縮放CGPath,這意味着當您縮放更寬或更窄時,功能區的「深度」將發生變化。您可以通過程序性地更改色帶遮罩形狀來解決此問題。 –
我還應該提到,當我在遊樂場編譯這段代碼時,我沒有完全運行它 –