2017-12-12 5 views
0

私はUITextFieldを使用しています。
UITextFieldのキーボードを使用して文字を入力します。
キーボードの戻るボタンをタップすると、私はUILabelで文章を表示します。
UILabelで文字を表示した後、UILabelから画像に変換したいと思います。
しかし、UILabelからイメージに変換する方法はわかりません。
良い方法がありますか?
UILabelをUIImageに変換する方法がわかりません。[swift]

@IBOutlet var messageLabel: UILabel! 
@IBOutlet var messageField: UITextField! 

func textFieldShouldReturn(_ textField: UITextField) -> Bool { 
    messageLabel.text = messageField.text 

    //Here I would like to convert from UILabel to image. 
    //UILabel → image 

} 
+0

最初に、「UITextFieldの文字をUILabelに表示します。 ? –

+0

申し訳ありません。私は説明のいくつかの文章を修正します。 – ginger

+0

あなたの質問のコードは、ラベルを画像に変換することと何が関係していますか? – rmaddy

答えて

1

あなたは、イメージ・コンテキストを開始するためにUIGraphicsBeginImageContextWithOptionsを使用することができ、その後、あなたはそれにラベルの内容を描画するUIView方法func drawHierarchy(in rect: CGRect, afterScreenUpdates afterUpdates: Bool) -> Boolを使用することができます。


let label = UILabel(frame: CGRect(origin: .zero, size: CGSize(width: 200, height: 50))) 
label.text = "StackOverflow" 
label.backgroundColor = UIColor.red.withAlphaComponent(0.2) 
label.textColor = .blue 
label.textAlignment = .center 
label.font = UIFont.boldSystemFont(ofSize: 24) 

UIGraphicsBeginImageContextWithOptions(label.bounds.size, false, 0) 
label.drawHierarchy(in: label.bounds, afterScreenUpdates: true) 
let image = UIGraphicsGetImageFromCurrentImageContext() 
UIGraphicsEndImageContext() 

enter image description here

+0

私に良いアドバイスをいただきありがとうございます。 – ginger

-1

あなたはタイプUIImage、messageImageの新しいIBOutletを作成し、そこにあなたがしたい画像を追加することができます。ラベルを変換するには、isHidden関数を使用してmessageLabelを非表示にし、messageImageを表示します。

messageLabel.isHidden = true 
messageImage.isHidden = false 
+0

あなたのアドバイスありがとうございます。しかし、私はUILabelの文章を隠したくありません。 – ginger

+0

UILabelをUIImageに変換するのとどう違うのですか?どちらの方法でも、UILabelは表示されなくなります/存在します。 – sn8wman

+0

@ sn8wman 2人は遠隔的に似ていません。問題は、動的ラベルの内容からイメージを作成する方法を尋ねることです。 – rmaddy

関連する問題