2012-07-24 19 views
0

我需要從用戶輸入文本字段或textview中獲取文本。 我做了rect和繪製文本到矩形。代碼如下: 我需要從textfield或textview中獲得帶有換行符的文本

CGRect a = CGRectMake(0,500,2400,100); 
[textfield.text drawInRect:a 
        withFont:font 
        lineBreakMode:UILineBreakModeWordWrap 
        alignment:UITextAlignmentLeft];   

問題是如果用戶輸入太長的文字,[drawInRect]只是畫出像...或剪掉中間的感覺。 如果用戶輸入長篇大論,我想做出雙重行,但linebreakmode似乎忽略以下文本,如果長。我需要做些什麼才能獲得全文?

+0

你的意思是你想看到的文本字段整個文本,如多行? – 2012-07-24 03:05:43

+0

不在文本框中。我用文本製作圖像文件。如果句子不正確,我想在圖像的下一行繪製文本。 – user1471568 2012-07-24 03:14:25

回答

2

這樣做:

CGSize maximumSize = CGSizeMake(textfield.frame.size.width, 1000); //here 1000 for maximum height u can increase this if u want 
CGSize strSize = [textfield.text sizeWithFont:textfield.font constrainedToSize:maximumSize lineBreakMode:UILineBreakModeWordWrap]; 
CGRect newframe = CGRectMake(0, 0, strSize.width, strSize.height); 
[textfield.text drawInRect:newframe 
        withFont:textfield.font 
      lineBreakMode:UILineBreakModeWordWrap 
       alignment:UITextAlignmentLeft]; 
+0

太棒了!它可以正常工作。非常感謝你! – user1471568 2012-07-24 05:37:02

相關問題