0

Кто-нибудь знает, как изменить положение панели инструментов в iOS7? У меня есть текстовое поле на панели инструментов, которое необходимо просматривать, когда клавиатура появляется во время редактирования.Изменить положение панели инструментов UINavigation в iOS7?

В iOS6 я просто анимировал рамку панели инструментов и изменил положение панели инструментов, но она не работает в iOS7. Есть ли способ сделать это в iOS7?

- (void)textFieldDidBeginEditing:(UITextField *)textField 
{ 
    [UIView animateWithDuration:0.25 
          delay:0.0 
         options:UIViewAnimationOptionCurveEaseIn 
         animations:^{ 
          [self.navigationController.toolbar 
            setFrame: 
          CGRectMake(0, self.view.bounds.size.height - 172, 320, 44)]; 
         } 
         completion:nil]; 
} 

ответ

0

Я понял. Я добавил еще одну кнопку в анимацию, а затем попытался изменить рамку панели инструментов в блоке завершения, и это сработало! Другая кнопка находится здесь, чтобы resignFirstResponder, нажав вне клавиатуры. Я понятия не имею, почему он работал именно так, но я не жалуюсь:

- (void)textFieldDidBeginEditing:(UITextField *)textField 
{ 
    self.done = [[UIButton alloc]initWithFrame:CGRectMake(0, 0, self.view.bounds.size.width, 0)]; 
    self.done.backgroundColor = [UIColor colorWithRed:0 green:0 blue:0 alpha:0.5]; 
    [self.done addTarget:self action:@selector(doneButton:) forControlEvents:UIControlEventTouchUpInside]; 
    [self.navigationController.view addSubview:self.done]; 

    [UIView animateWithDuration:0.25 
          delay:0.0 
         options:UIViewAnimationOptionCurveEaseIn 
        animations:^{ 
         [self.done setFrame:CGRectMake(0, 0, self.view.bounds.size.width, self.view.bounds.size.height - 172 + 20)]; 
        } 
        completion:^(BOOL finished) { 
         [self.navigationController.toolbar setFrame:CGRectMake(0, self.view.bounds.size.height - 172 + 20, 320, 44)]; 
        } 
    ]; 
} 

Другая вещь, которую я заметил, что я не мог изменить полупрозрачные свойство моей панели инструментов. Когда я попытался реализовать:

self.navigationController.toolbar.translucent = YES; 

или когда я пытался реализовать:

self.navigationController.toolbar.barStyle = UIBarStyleBlackTranslucent; 

Это вызвало анимации код завершения блока, чтобы не работать. Я не уверен, что это ошибка или что?

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