键盘和鼠标演出,但我不能内部UITextFields和UITextViews类型(Keyboard

2019-06-18 04:31发布

在iPad与iOS 6 GM。 我有6个UITextFields,3个UITextViews,并触发一个酥料饼/ actionsheet一个UIButton。

当我选择UITextFields或UITextViews之一,键盘弹出,光标出现,但我不能输入文字。 如果我按UIButton的展现酥料饼,然后点击外面将其关闭并返回到UITextFields或UITextViews,他们的工作。

我有UITextxxxx.delegate =自我; 对于所有这些设置。 在xibs“已启用”和“用户交互启用”勾掉,UITextFieldDelegate和UITextViewDelegate在我的.h文件以及:

- (BOOL)disablesAutomaticKeyboardDismissal {
    return NO;
}


- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField {

    return YES;

}

- (BOOL)textFieldShouldEndEditing:(UITextField *)textField {

    return YES;

}

- (IBAction)textFieldReturn:(id)sender {

    [sender resignFirstResponder];
}



- (BOOL)textViewShouldBeginEditing:(UITextView *)textView {

    if (textView == notestextView){
        [notestextView becomeFirstResponder];
    }
    if (textView == notestextViewTwo){
        [notestextViewTwo becomeFirstResponder];
    }
    if (textView == notestextViewThree){
        [notestextViewThree becomeFirstResponder];
    }

    return YES;

}

- (BOOL)textViewShouldEndEditing:(UITextView *)textView {

    return YES;

}

我甚至试图[XXXXXXX becomeFirstResponder]; 在viewDidLoad中。 弹出键盘并在运行时将光标置于在外地,但我还是我之前挖掘的UIButton展现酥料饼在那里不能输入。

任何人都知道我为什么不能在字段中键入为什么envoking的酥料饼“修复它”?

更新9/18:我把我的应用程序一个新的观点,只是有一个文本框和一个TextView的视图。 代表们都成立。 相同的行为。 键盘和鼠标出现,但没有打字。 这排除了popovercontroller事情搞乱。

我强烈开始认为这是一个iOS 6的错误。 这是相当多的,我在我的应用程序的iPhone版本,在iOS 4和5相同的观点,我从未有过的问题。 iPhone和iPad版的唯一区别是imagepicker呈现的方式。 你必须使用为iPad一酥料饼。 这就是为什么我在想,在酥料饼委托有一些东西需要用它做。

有没有一种实现在iOS 6中UITextFields和UITextViews,我不知道之间的根本区别的? 似乎不太可能。

如果它帮助我的应用程序流程是这样的:

主要景观有10个按钮

  • 每个按钮经由导航控制器推送的tableview
  • tableviews推的细节视图 - 上述文本字段和textviews表现出行为
  • 的tableview还具有一个附加的按钮,按下模态的视图,以添加新的项目 - 上述文本字段和textviews表现出行为

Answer 1:

这原是一座建在iOS 5.为了让iPad应用程序的iPhone应用程序,我只是复制该项目,并升级了所有的.xibs到iPad版本。 我不知道这是否是一个错误或没有,或者如果它是与升级到iOS 6,但这样做会这样的东西弄乱了的MainWindow.xib

在主窗口厦门国际银行,我在输入"MainViewController"为标题(这是以前空白。)

并检查关"Visible at Launch" 。 即使是在发射已经显现,不具有核对螺丝的东西了。

现在,我所有的文本视图和文本字段工作。



Answer 2:

我遇到了同样的问题,确保应用程序委托有[self.window makeKeyAndVisible] 这解决了这个问题对我来说。



Answer 3:

对我来说,你的解决方案不工作,所以我发现了另一个。

我使用Revmob广告时,应用启动加载这么全屏视图和横幅广告视图。 Revmob使用一些员工用于显示所有viewcontrollers我觉得这里的问题是同一面旗帜。 当我禁用revmob我可以添加文本到文本框我。



Answer 4:

这是iOS的6显然是错误只是把[searchBar becomeFirstResponder];searchBarTextDidBeginEditing方法:

- (void)searchBarTextDidBeginEditing:(UISearchBar *)searchBar
{
    if (!self.window.isKeyWindow) {
        [self.window makeKeyAndVisible];
    }
}

该解决方案为我工作。



Answer 5:

这些解决方案并没有为我工作,但之后,我在删除导出的数据文件夹~/Library/Developer/Xcode/DerivedData/AppName ,它的工作。



Answer 6:

为了澄清其他的答案,你不能输入文字未设置是关键窗口的窗口。 大多数应用程序只使用一个窗口,或没有对其他窗口的文本输入所以永远不会遇到这个问题。

当处理多个窗口确保resignKeyWindow + makeKeyWindow在切换对焦和非常重要的,事后恢复的重要窗口!



Answer 7:

在尝试becomeFirstResponder dispatch_async(dispatch_get_main_queue(),^{});



文章来源: Keyboard and cursor show, but I can't type inside UITextFields and UITextViews