2015-08-13 4 views
0

я использовал следующий код, но я не смог получить результатКак изменить размер TextView вместе с панелью инструментов в соответствии с содержанием в объективном с

CGRect newFrame = _text_view.frame; 
CGRect newToolbarFrame = self.navigationController.toolbar.frame; 
newFrame.size = CGSizeMake(fmaxf(newSize.width, fixedWidth), newSize.height); 

Из приведенной выше коды, пожалуйста, дайте мне знать, что это NewSize?

+0

Предоставьте дополнительную информацию, например, как вы инициализировали новости. – Jaideep

+0

Спасибо за ваш ответ. Я инициализирован CGRect, и я не уверен в том, что я делаю, правильно. Проблема, с которой я столкнулся, - это увеличение текста по высоте, последняя строка текста скрывается за клавиатурой. Можете ли вы предоставить некоторый код для увеличения текста, а также панели инструментов, не скрывая клавиатуру. Спасибо заранее. – developer

ответ

0

Чтобы увеличить высоту текста вверх в соответствии с содержанием, я использовал проект this gitHub.

А для простого изменения расположения точки зрения текста, так что она остается выше клавиатуры, попробуйте этот

// First add these 
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil]; 

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillHide:) name:UIKeyboardWillHideNotification object:nil]; 

Тогда в этих методах, сделать это

- (void) keyboardWillShow:(NSNotification *)note { 

    //Get keyboard size and loctaion 
    CGRect keyboardBounds; 
    [[note.userInfo valueForKey:UIKeyboardFrameEndUserInfoKey] getValue: &keyboardBounds]; 

    // get a rect for the textView frame 
    CGRect containerFrame = _text_view.frame; 

    // Provided you keep fixed number of maximum lines 
    containerFrame.origin.y = self.view.bounds.size.height - (keyboardBounds.size.height + containerFrame.size.height); 

    // set views with new info 
    _text_view.frame = containerFrame; 

    // Change toolbar location as per it's height 
    _tool.frame=CGRectMake(0, 
          _text_view.frame.origin.y - _tool.frame.size.height, 
          _tool.frame.size.width, 
          _tool.frame.size.height); 

} 

- (void) keyboardWillHide:(NSNotification *)note{ 

    CGRect keyboardBounds; 
    [[note.userInfo valueForKey:UIKeyboardFrameEndUserInfoKey] getValue: &keyboardBounds]; 

    // get a rect for the textView frame 
    CGRect containerFrame = _text_view.frame; 
    containerFrame.origin.y = self.view.bounds.size.height - containerFrame.size.height; 

    // set views with new info 
    _text_view.frame = containerFrame; 

    // Similarly again change toolbar location 
} 

Или вы можете просто держать TextView в scrollView и измените вставки прокрутки, когда появляется клавиатура.

+0

Спасибо за ваш ответ. Простите, я не мог понять, что вы имели в виду под клавиатурой. В настоящее время я использую этот код для изменения местоположения панели инструментов. – developer

+0

NSDictionary * keyboardInfo = [note userInfo]; NSValue * keyboardFrameSize = [keyboardInfo valueForKey: UIKeyboardFrameBeginUserInfoKey]; CGRect keyboardFrameBeginRect = [keyboardFrameSize CGRectValue]; _tool.frame = CGRectMake (0,420, _tool.frame.size.width, _tool.frame.size.height); [_text_view setFrame: CGRectMake (40,423, _tool.frame.size.width, 120, _text_view.frame.size.height)]; [_text_view setContentSize: CGSizeMake (_tool.frame.size.width, _tool.frame.size.heigh100)]; UIEdgeInsets insets = _text_view.contentInset; _text_view.contentInset = insets; text_view.scrollIndicatorInsets = вставки; – developer

+0

Я также сталкиваюсь с проблемами в, После трех раз панель инструментов не перемещает свое местоположение вместе с клавиатурой. Пожалуйста, помогите мне. – developer

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