2015-10-06 3 views
0

У меня есть таблица, и ниже это их bottomView. Моя цель - двигаться вверх по дну, когда клавиатура вверх. но когда мы настраиваем клавиатуру, этот метод вызывает мой снизу вверх. Я застрялОтрегулируйте высоту изображения

- (void)keyboardWasShown:(NSNotification*)aNotification 
{  
     NSDictionary* info = [aNotification userInfo]; 
     CGSize kbSize = [[info objectForKey:UIKeyboardFrameBeginUserInfoKey] CGRectValue].size; 
    keyBoadSize =kbSize.height; 

     [UIView animateWithDuration:0.2f animations:^{ 
     CGRect frame=bottomView.frame; 
     keyBoardHeight = keyBoadSize; 


     frame.origin.y -=keyBoadSize; 
      bottomView.frame=frame; 
     frame = tableViews.frame; 
     frame.size.height -= keyBoardHeight; 
     tableViews.frame = frame; 



} 

Я также использую

- (void)textViewDidChange:(UITextView *)textView 
{ 
    CGFloat fixedWidth = textView.frame.size.width; 
    CGSize newSize = [textView sizeThatFits:CGSizeMake(fixedWidth, MAXFLOAT)]; 
    CGRect newFrame = textView.frame; 
    newFrame.size = CGSizeMake(fmaxf(newSize.width, fixedWidth), newSize.height); 
    textView.frame = newFrame; 
    CGRect frame1 = [UIScreen mainScreen].bounds; 
    bottomView.frame=CGRectMake(0, frame1.size.height-keyBoardHeight-20-newSize.height, self.view.frame.size.width, newSize.height+50); 



} 
+0

@ElCaptain Я не использую ограничение –

+0

Вам нужно правильно установить 'contentInset' вашего табличного представления. Установите его компонент высоты на высоту клавиатуры. – Abhinav

+0

@Abhinav Пожалуйста, помогите –

ответ

0

Вам нужно сначала добавить пространство в виде таблицы, чтобы скроллинг:

[self.tableView setContentInset:UIEdgeInsetsMake(0.0, 0.0, keyBoardheight, 0.0)]; 

Затем анимировать Y положение пользовательского дна Посмотреть.

В качестве примечания стороны, в вашем примере кода keyBoadSize вводит в заблуждение. Он должен быть keyBoardheight.

PS: Не забудьте сбросить прокручиваемое пространство, когда клавиатура отклоняется следующим образом: [self.tableView setContentInset:UIEdgeInsetsZero];.

+0

IT WORK WELL FOR TABLE VIEW, но не для вида снизу –

+0

Пользовательский вид является частью вашего вида таблицы. Если вы не добавите пробел в свой прокручиваемый контент, просмотр не будет прокручиваться должным образом. Если вы прочтете мой ответ, я все еще прошу вас оживить Y позицию вашего пользовательского представления снизу. – Abhinav

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