ios – 麻烦拍摄成为一些用户不显示键盘的第一响应

前端之家收集整理的这篇文章主要介绍了ios – 麻烦拍摄成为一些用户不显示键盘的第一响应前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个TextView,应该按下按钮显示,让用户通过键盘输入文本.
- (IBAction) changeName {

    changeNameBtn.hidden = YES;
    backBtn.hidden = YES;

    usernameLabel.hidden = NO;
    inputTextField.hidden = NO;
    [inputTextField becomeFirstResponder]; // to show keyboard
}

这对我们大多数人来说很好.

但是键盘在一些地理位置偏远的地方没有显示给我的一些测试人员.怎么麻烦拍这个?什么可能是我们的设备的不同行为的原因?它对我和其他人都很好.我们都使用相同的设备(iPod,iOS 4.1 – 5.1).

我尝试的第一件事情没有起作用:

我猜到inputTextField在某种程度上不会及时变得可见,之后才会被启动,因此我添加了setNeedsDisplay,因为我认为这将强制更新.

[inputTextField setNeedsDisplay];
[inputTextField becomeFirstResponder];

我尝试的第二件事情没有起作用:

if([inputTextField canBecomeFirstResponder]){
    [inputTextField becomeFirstResponder];
}

我尝试的第三件事是解决办法,要求不幸的用户按字段:

- (IBAction) inputTextFieldTouch {
    [inputTextField becomeFirstResponder];
}

解决方法有效,但必须有更好的方法.请告诉我我做错了什么! :)如何处理这样的问题,而不能自己复制?

解决方法

当您尝试使其成为第一反应者时,textview尚未完成绘制.

您可以尝试动画化外观,并在完成块中设置第一个响应者.

[UIView animateWithDuration:0.0 animations:^{
   [view addSubview:textView];
} completion:^(BOOL finished){
   [textView becomeFirstResponder];
}];

猜你在找的iOS相关文章