2013-10-04 3 views
0

1) Я хочу включить ScrollView в TextView.When Height TextView увеличен.Я хочу включить ScrollView в TextView.When Height TextView увеличен

2) Когда я вхожу в полные строки после нажатия ввода, что я набираю, показывается. Но когда я ввожу только 2 или 3 буквы после нажатия ввода, то что я вхожу, не отображается. Он отображается после нажатия ввода

-(void)viewDidLoad 
{ 
    UITextView *txtView=[[UITextView alloc]init]; 
    txtView.frame = CGRectMake(60, 100, 350, 154); 
    txtView.backgroundColor=[UIColor whiteColor]; 
    txtView.font=[UIFont fontWithName:Nil size:30];/*Font size*/ 
    txtView.delegate=self; 
    txtView.scrollEnabled=YES; 
    [self.view addSubview:txtView]; 
} 
-(void)textViewDidChange:(UITextView *)textView 
{ 
if(textView.contentSize.height>textView.frame.size.height) 
{ 
CGRect frame = txtView.frame; 
frame.size.height = textView.contentSize.height+90; 
textView.frame = frame; 
textView.scrollEnabled=YES; 
} 
textView.scrollEnabled=YES; 
} 
+0

Я не понимаю, почему * * вы хотите изменить contentsize в TextView вручную. UITextView позаботится обо всех вещах, в том числе о содержимом и прокрутке. Если вы не хотите, чтобы содержимое содержимого было чем-то большим, чем высота контента, который он на самом деле имеет, вы не должны устанавливать contentize или scrollEnabled. – n00bProgrammer

+0

Кроме того, что вы сделали с ней, измените высоту рамки textView. Если вы хотите иметь TextView, который меняет высоту по сравнению с его содержимым, посмотрите [HPGrowingTextView] (https://github.com/yatinsns/HPGrowingTextView) – n00bProgrammer

+0

txtView = [[UITextView alloc] init]; txtView.frame = CGRectMake (60, 100, 350, 154); txtView.backgroundColor = [UIColor whiteColor]; txtView.font = [UIFont fontWithName: Nil size: 30]; – user2677311

ответ

0
if(textView.contentSize.height > textView.frame.size.height) 
{ 
    CGRect frame = textView.frame; 
    frame.size.height = textView.contentSize.height + 90; 
    textView.frame = frame; 
    textView.scrollEnabled = YES; 

    [textView setContentSize:CGSizeMake(0, textView.frame.size.height + 1)]; 
} 
+0

Если я пробовал, как этот scrollView отключается в textView, и я не хочу увеличивать textHeight.Because ниже textView у меня есть одна кнопка отправки. – user2677311

+0

Просьба четко указать, какое поведение вы хотите от textView. Вы хотите изменить высоту фрейма textView или включить только прокрутку? – n00bProgrammer

+0

Мне нужно 1 вещь.1) Текст должен отображаться, когда пользователь вводит текст. Например, высота текста составляет 4 строки. Когда пользователь подходит к концу 4-й строки, он автоматически переходит к следующей строке и показывает, что набирает. В моем случае я буду вводить только 1 букву в строке после ввода 4-й строчной буквы, которую я нажимаю, затем курсор переходит к следующей строке, а то, что я вхожу, не отображается. Он показывает после нажатия Text – user2677311

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