【问题标题】:Argument labels do not match any available overloads swift参数标签不匹配任何可用的重载 swift
【发布时间】:2019-04-12 11:23:07
【问题描述】:

我有一个在图像上绘制文本的函数,但问题是当我调用此函数时,它会给出错误“参数标签'(_:, _:)' 不匹配任何可用的重载” 我是 swift 新手,不知道如何解决

func write_text_on_image(drawtext text:NSString , inimage img : UIImage , atpoint point : CGPoint) -> UIImage {

        let textcolor = UIColor.white
        let font = UIFont(name: "Helvetica", size: 16)

        let scale = UIScreen.main.scale
        UIGraphicsBeginImageContextWithOptions(img.size, false, scale)

        let font_attributes = [

            kCTFontAttributeName : font,
            kCTForegroundColorAttributeName : textcolor
        ]

      img.draw(in: CGRect(origin: CGPoint.zero, size: img.size))

        let rect = CGRect(origin: point, size: img.size)

        text.draw(in: rect, withAttributes: font_attributes as [NSAttributedString.Key : Any])

        let newimg = UIGraphicsGetImageFromCurrentImageContext()

        UIGraphicsEndPDFContext()

        return newimg!

    }

我称这个函数为

write_text_on_image(drawtext: "THis is some text", inimage: UIImage(named: "test.png")!, atpoint: CGPoint(20,20))[!

check out screen of function []1

【问题讨论】:

  • 它是CGPoint(x: 20, y: 20)
  • 如何使用代码完成?输入 CGPoint( 并查看 Xcode 的建议。顺便说一句,这不是 javascript。请使用 lowerCamelCased 变量和函数名称、原生 Swift 类型并避免冗余信息,例如 func write(text: String, in img : UIImage, at point : CGPoint) -> UIImage
  • @vadian 谢谢你的建议其实我只是一个初学者我尽量避免这些

标签: swift cgrect cgpoint drawtext uigraphicscontext


【解决方案1】:

正如@vadian 所说,代码完成会对您有所帮助。这是我在 Playground 中复制片段的结果:

func write_text_on_image(drawtext text:NSString , inimage img : UIImage , atpoint point : CGPoint) -> UIImage { return UIImage() }

write_text_on_image(drawtext: "NSString", inimage: UIImage(), atpoint: CGPoint(x: 0, y: 0))

什么都不做,但是编译。

【讨论】:

    【解决方案2】:

    CGPoint(x,y) 作为 CGPoint(x : value,y ; value) 传递参数

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-19
      • 2020-01-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多