2017-12-12 22 views
0

UITextField를 사용하고 있습니다.
UITextField에서 키보드를 사용하여 문자를 입력합니다.
키보드에서 돌아 가기 버튼을 누르면 UILabel에서 문장을 표시합니다.
UILabel에서 문자를 표시 한 후 이미지를 UILabel로 변환하고 싶습니다.
그러나 UILabel에서 이미지로 변환하는 방법을 모르겠습니다.
더 좋은 방법이 있습니까?
UILabel을 UIImage로 변환하는 방법을 모르겠습니다. [신속]

@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 두 사람은 원격조차 비슷하지 않습니다. 질문은 동적 레이블의 내용에서 이미지를 만드는 방법을 묻는 것입니다. – rmaddy