我想显示一个包含 UITextField 的视图,并且我会自动显示带有消息 becomeFirstResponder 的键盘。使用 iOS 7,没有任何问题。但是从iOS8开始就不行了。我正在像这样配置视图:
- (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];
}
以及用动画显示视图的方法:
- (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];
}
问题是:当我showViewAddScore
第一次调用该方法时,键盘显示但视图不显示。当我第二次调用该方法时,视图正在显示。当我删除 line[self.textfieldAddScore becomeFirstResponder];
时,第一次调用该方法时会显示视图。[self.textfieldAddScore becomeFirstResponder];
所以,和动画有问题。我试过在动画之后移动这条线,但问题仍然存在。
谢谢您的帮助。