UITextField가 포함 된 뷰를 표시하려고하며 becomeFirstResponder 메시지와 함께 키보드를 자동으로 표시합니다. iOS 7에서는 문제가 없습니다. 그러나 iOS8 이후로는 작동하지 않습니다.UITextField becomeFirstResponder 블록 애니메이션
- (void)manageViewPopOver:(UIView *)view withCGPoint:(CGPoint)point {
[UIView animateWithDuration:0.3
delay:0.1
options:UIViewAnimationOptionCurveLinear
animations:^{
CGRect frame = view.frame;
frame.origin.y = point.y;
frame.origin.x = point.x;
view.frame = frame;
}
completion:nil];
}
문제는 다음과 같습니다 : 때 애니메이션보기를 보여
- (void)showViewAddScore{
if(!self.viewPopOver){
//a l'initialisation de la vue, on design le contour
self.viewPopOver = [self.view viewWithTag:100];
self.viewPopOver.layer.cornerRadius = 8;
self.viewPopOver.layer.masksToBounds = YES;
self.viewPopOver.layer.borderWidth = 1;
self.viewPopOver.layer.borderColor = [[UIColor colorWithRed:8.0/255 green:65.0/255 blue:32.0/255 alpha:1] CGColor];
}
//deplacement de la vue
CGPoint point;
point.x = self.viewPopOver.frame.origin.x;
point.y = 300;
[self manageViewPopOver:self.viewPopOver withCGPoint:point];
[self.textfieldAddScore becomeFirstResponder];
}
그리고 방법 나는이 같은 뷰를 구성하고있어 처음으로 showViewAddScore
메서드를 호출하면 키보드가 보이지만 보이지는 않습니다. 메서드를 두 번째 호출하면 뷰가 표시됩니다. 그리고 [self.textfieldAddScore becomeFirstResponder];
줄을 삭제하면 메서드를 처음 호출 할 때보기가 표시됩니다. 그래서 [self.textfieldAddScore becomeFirstResponder];
및 애니메이션에 문제가 있습니다. 애니메이션 이후에 선을 이동 시키려고했지만 문제가 계속됩니다.
도움 주셔서 감사합니다.
프로그래밍 방식으로 또는 스토리 보드를 통해 viewPopOver를 추가하고 있습니까? – Yan
나는 당신의 코드를 시험해 보았다. 문제가없는 iOS 8에서 작동한다. 그것을 디버그하고 point.y = 300의 중단 점을 설정하고 self.viewPopOver가 처음에는 0이 아니고 점이 올바르게 설정되었는지 확인하십시오. – Yan
안녕하세요, 저는 스토리 보드에 viewPopOver를 만들고 표시했습니다. 애니메이션과 함께. 디버그 모드에서 처음에는 뷰가 nil이 아닙니다. 하지만 두 번째 탭에서만 나타납니다. self.textfieldAddScore becomeFirstResponder라는 줄을 삭제하면 첫 번째 탭에 나타납니다. 그래서 iOS8 :-(나는이 문제를 해결하는 방법을 모르겠다. –