我需要使用linebreak从textfield或textview获取文本

时间:2012-07-24 02:50:03

标签: iphone xcode uitextfield uitextview

我需要从用户输入textfield或textview获取文本。 我做了rect并在rect中绘制文本。 代码如下。

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

问题是如果用户输入的文本太长,[drawInRect]只是绘制...或者削减了中间的信号。 如果用户输入长的发送,我想要双线,但是如果长,则linebreakmode似乎忽略后续文本。我需要做什么才能获得全文?

1 个答案:

答案 0 :(得分: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];