如何在底部划一个CGRect?

问题描述:

我想实现以下:如何在底部划一个CGRect?

enter image description here

自定义导航栏,其在底部砍,我怎么能做到这一点使用的CGRect?

另一种替代方法是制作一个图像并将列表向上推以重叠图像中的透明部分。如果可能的话,我更喜欢第一个解决方案。有什么建议么?

这是我目前的WIP状态:enter image description here

您可以使用贝塞尔路径 只需添加线条,让您的自定义形状 这样的:

let path = UIBezierPath() 
shape.move(to: CGPoint(x: 0, y: 0)) 
shape.addLine(to: CGPoint(x: 0, y: 320)) 
shape.addLine(to: CGPoint(x: 94, y: 320)) 
shape.addLine(to: CGPoint(x: 64, y: 0)) 
shape.close() 
+1

我相信你不需要那么多点实现OP所需的效果,只需在底部绘制一个三角形就足够了。另请注意,closePath()会将最后一个添加的点连接到起点,如果在起点处结束,则不需要再添加原点。 –

+0

形状如何应用于NavigationBar的当前Rect?通过重写平局? – Rovdjuret

+1

您可以创建一个'UINavigationbar'子类并在'drawRect'方法中添加您的视图 –