gpt4 book ai didi

ios - uiimageview 底部的曲线 View

转载 作者:可可西里 更新时间:2023-11-01 01:09:04 24 4
gpt4 key购买 nike

我需要在 View 底部使用 UIBezierPath 绘制一个 View ,就像这张图片一样。 enter image description here

我尝试使用此代码,但椭圆形绘制在图像的一半而不是像图片中那样在 View 底部这是我的输出和代码

override func draw(_ rect: CGRect) {
super.draw(rect)

let shapeLayer = CAShapeLayer(layer: imgCamera.layer)
shapeLayer.path = self.pathCurvedForView(givenView: imgCamera).cgPath
shapeLayer.frame = imgCamera.bounds
shapeLayer.masksToBounds = true
imgCamera.layer.mask = shapeLayer

}

private func pathCurvedForView(givenView: UIView) ->UIBezierPath
{
let ovalRect = givenView.frame

let ovalPath = UIBezierPath()

ovalPath.addArc(withCenter: CGPoint(x: ovalRect.midX, y: ovalRect.midY), radius: ovalRect.width / 2, startAngle: 0 * CGFloat.pi/180, endAngle: -180 * CGFloat.pi/180, clockwise: true)
ovalPath.addLine(to: CGPoint(x: ovalRect.midX, y: ovalRect.midY))

ovalPath.close()

UIColor.gray.setFill()
ovalPath.fill()

return ovalPath
}

enter image description here

最佳答案

代码工作:

    imageView.layer.cornerRadius = imageView.frame.width/2
imageView.layer.borderWidth = 5
imageView.layer.borderColor = UIColor.white.cgColor
let gradientLayer = CAGradientLayer()
gradientLayer.frame = imageView.bounds
gradientLayer.colors = [UIColor.clear.cgColor, UIColor.clear.cgColor, UIColor.clear.cgColor, lightBlack.cgColor , lightBlack.cgColor]
gradientLayer.locations = [NSNumber(value: 0.0), NSNumber(value: 0.5), NSNumber(value: 0.75),NSNumber(value: 0.75), NSNumber(value: 1.0)]
imageView.layer.addSublayer(gradientLayer)

输出:

enter image description here

关于ios - uiimageview 底部的曲线 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49651330/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com