0

누구든지 iOS7에서 툴바 위치를 변경하는 방법을 알고 있습니까? 편집하는 동안 키보드가 나타나면 볼 수 있어야하는 툴바에 텍스트 필드가 있습니다.iOS7에서 UINavigation 툴바 위치를 변경 하시겠습니까?

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

알아 냈습니다. 애니메이션에 또 다른 버튼을 추가 한 다음 완성 블록에서 툴바 프레임을 변경해 보았습니다. 다른 버튼은 바로 키보드 외부를 눌러 첫 번째 응답을 취소하는 것입니다. 나는 이런 식으로 일을 왜 몰라하지만 난 불평하지 오전 : 내가 발견

- (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; 

그것은 애니메이션 완료 블록 코드가 작동하지 않는 원인이되었다. 이것이 버그인지 또는 무엇인지 확실하지 않습니다.

관련 문제