Swift初心者です。
画像の上にテキストを表示させたいと思い、このURLを参考にしたのですが例外が発生してしまいます。
参考にしたURL
XCodeのバージョンは Version 12.1 です。
今回、StoryboardにはViewControllerしか置いておらず、テキストとイメージはコードで生成していると理解しています・・
Assetsの中に1.pngという画像を格納しています。
Swift
1 2 //画像の上にテキストを表示させる 3 func drawText() ->UIImage 4 { 5 let text = "Sample Text" 6 7 let tmpImage = UIImage(named: "1") 8 let font = UIFont.boldSystemFont(ofSize: 32) 9 let imageRect = CGRect(x: 0, y: 0, width: tmpImage!.size.width, height: tmpImage!.size.height) 10 UIGraphicsBeginImageContext(tmpImage!.size); 11 tmpImage?.draw(in: imageRect) 12 let textRect = CGRect(x: 5, y: 5, width: tmpImage!.size.width - 5 , height: tmpImage!.size.height - 5) 13 let textStyle = NSMutableParagraphStyle.default.mutableCopy() as! NSMutableParagraphStyle 14 let textFontAttributes = [ 15 NSAttributedString.Key.font: font, 16 NSAttributedString.Key.foregroundColor: UIColor.white.cgColor, 17 NSAttributedString.Key.paragraphStyle: textStyle 18 ] as [NSAttributedString.Key : Any] 19 text.draw(in: textRect, withAttributes: textFontAttributes) 20 21 let newImage = UIGraphicsGetImageFromCurrentImageContext(); 22 UIGraphicsEndImageContext() 23 return newImage! 24 } 25
エラーが発生するのは
text.draw(in: textRect, withAttributes: textFontAttributes)
という部分のようです。
例外の内容は以下の通りです。
Thread 1: "-[__NSCFType set]: unrecognized selector sent to instance 0x6000028f0780"
例外内容で検索してみたのですが、Storyboardとの紐付けができていない、などの内容でして、今回はどのように修正すれば良いのか理解できませんでした・・・
対応方法お分かりの方いらっしゃいましたら、ご教示いただけないでしょうか。
不足している情報などありましたらご指摘いただけますと幸いです。
以上よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/11/07 20:47
2020/11/08 01:15
2020/11/12 04:34