解决方法
你可以用一些bezier曲线绘制背景,这不应该太难.如果您想要重新创建类似于该示例底部的内容,您尤其希望这样做.
这是您可以使用的自定义视图.它只是覆盖了绘图,并使其背景为具有圆顶的贝塞尔曲线路径
您可以使用我插入的静态值调整高度和曲线.
class CurvedView: UIView { override func drawRect(rect: CGRect) { let y:CGFloat = 20 let curveTo:CGFloat = 0 let myBezier = UIBezierPath() myBezier.moveToPoint(CGPoint(x: 0,y: y)) myBezier.addQuadCurveToPoint(CGPoint(x: rect.width,y: y),controlPoint: CGPoint(x: rect.width / 2,y: curveTo)) myBezier.addLineToPoint(CGPoint(x: rect.width,y: rect.height)) myBezier.addLineToPoint(CGPoint(x: 0,y: rect.height)) myBezier.closePath() let context = UIGraphicsGetCurrentContext() CGContextSetLineWidth(context,4.0) UIColor.whiteColor().setFill() myBezier.fill() } }
另一种方法是制作一个比屏幕大得多的白色视图……我猜的是屏幕宽度的3倍.然后只需将拐角半径设置为其宽度的一半即可.