Метки аргументов не соответствуют ни одной доступной перегрузке swift - PullRequest
0 голосов
/ 12 апреля 2019

У меня есть функция, которая рисует текст на изображении, но проблема в том, что когда я вызываю эту функцию, она выдает ошибку "Метки аргумента" (_ :, _ :) "не соответствуют ни одной доступной перегрузке", я новичок в 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))[!

проверить экран функции [calling of function] 1

Ответы [ 2 ]

1 голос
/ 18 апреля 2019

CGPoint (x, y) передать параметр как CGPoint (x: значение, y; значение)

1 голос
/ 12 апреля 2019

Как сказал @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))

Ничего не делает, но компилирует.

...