2012-07-24 2 views
0

Мне нужно получить текст с текстового поля ввода текста или текстового поля. Я сделал прямоугольник и нарисую текст в прямоугольник. код ниже.Мне нужно получить текст из текстового поля или текстового поля с помощью linebreak

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

проблема, если пользовательский ввод слишком длинный текст, [drawInRect] просто рисует как ... или вырезать середину Сентанс. Я хочу сделать двойную строку, если пользователь вводит длинный отклик, но linebreakmode похоже игнорирует следующий текст, если он длинный. Что мне нужно сделать, чтобы получить полный текст?

+0

вы имеете в виду вы хотите, чтобы увидеть весь текст в текстовом поле, как несколько строк? –

+0

не в текстовом поле. Я делаю файл изображения с текстом. Если предложение неверно, я хочу нарисовать текст следующей строки на изображении. – user1471568

ответ

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

Смежные вопросы