Tag: uitextfield

如何检测语音识别正在进行中

问题: 我有UITextField与UIButton与发送function并排。 当用户按下发送button,我正在执行简单的操作: – (IBAction)sendMessage: (id)sender { [self.chatService sendMessage: self.messageTextField.text]; self.messageTextField.text = @""; // here I get exception } 现在当用户从键盘开始使用听写时,然后按听写视图(键盘)上的button,并立即按下发送button,我有exception“范围或索引超出界限”。 可能的scheme 我注意到,当语音识别服务器正在处理数据时,其他应用程序禁用此“发送”button。 这恰好在两个事件之间:用户按“完成”,结果出现在文本字段中。 我希望以同样的方式解决它。 我在文档中发现可以收到此通知的问题。 我find了UITextInput协议,但这不是我所需要的。 类似主题: 使用听写 – iOS 6 – DidStart – 解决scheme不可接受(可能被苹果拒绝) 禁用iPhone 4S /新iPad的键盘上的听写button – 与上述类似的方法 我试过了什么: 简单地捕捉并忽略exception。 崩溃不起作用,但虚拟键盘变得完全没有反应 当[UITextInputMode currentInputMode].primaryLanguage等于@"dictation"时,禁用发送button。 通知UITextInputCurrentInputModeDidChangeNotification报告听写模式结束之前到达听写服务提交新值,我仍然可以点击发送button引起exception。 当primaryLanguage损失@“听写”价值时,我可以加延迟,但我不喜欢这种方法。 这个所需的延迟很可能取决于语音识别服务的响应程度。 我已经添加了一堆行动在不同的事件(这evets正在处理: UIControlEventEditingDidBegin , UIControlEventEditingChanged , UIControlEventEditingDidEnd , […]

如何实现类似Facebook或Instagram的新闻源评论页面

Instagram和Facebook都允许用户对新闻提要进行评论。 在评论场景中,他们基本上都有一个包含所有评论和“页脚”的UITableView,用户可以在其中input评论和发表评论。 所以“页脚”是UITiew或UIToolBar与UITextField / UITextView和UIButton。 从它的外观真正简单的东西。 那么我一直在试图执行它和键盘不合作。 我需要键盘才能隐藏“页脚”。 特别是现在在iOS 8中,键盘带有一个用户可以select显示或隐藏的build议工具栏。 所有这些交互使用户在input文本时很难将“页脚”保持在键盘的正上方。 每次我想我指出解决scheme,我发现了大量的错误。 在一个实现中,我使用键盘通知来监听键盘启动或closures(部分基于iPhone键盘覆盖UITextField )。 这个实现的问题是,当键盘显示出来并且“页脚”从屏幕底部爬到键盘的顶部时,存在大约1到2秒的滞后时间。 第二个问题是,当用户拖动build议工具栏来显示或隐藏它时,它会导致我的“页脚”以不可预知的方式移动:这意味着我需要一些静态variables来精确跟踪与build议工具栏的累积交互修复这个错误。 另外请注意,我把“footer”放在引号内。 这是因为我不是指UITableView页脚。 而是在UITableViewbuild议的表视图下创build一个视图,使页脚停留在屏幕底部? 我试过的另一个实现是使用“页脚”和键盘工具栏。 当用户单击页脚的UITextField时,会导致键盘显示为脚注的副本作为inputAccessoryView。 这基本上是为了在视觉上欺骗用户认为它是用键盘无缝攀登的同样的页脚。 但实际上我使用了两个复合视图:“页脚”和键盘工具栏。 我遇到的第一个问题是我似乎无法以编程方式使工具栏文本字段成为第一响应者。 这实际上用于在ios-7中工作。 但是,因为我更新到iOS-8,它不起作用。 所以,如果我做footerTextField.inputAccessoryView=keyboardToolBar ,然后在textfield委托方法检查if(textField==footerTextField){[tooBarTextField becomeFirstResponder];} ,iOS-8只是忽略了整个事情,更糟的是,closures键盘和工具栏总之,实际上键盘从来没有出现,当我点击footerTextField,因为显示和解散发生得如此之快。所以再次这用于在iOS-7中工作,但在iOS-8中它不起作用。 第三种方法是使父视图TPKeyboardAvoidingScrollView,使我有父母,孩子UITableView和“页脚”。 在这里虽然TPKeyboardAvoiding已经在我的应用程序的其他场景,因为任何原因,它不在这里工作。 我的猜测是因为我使用UITableView作为UIScrollView的子项之一。 第四种方法是让我的“页脚”成为实际的UITableView页脚; 部分页脚,因为我想它浮在底部。 部分页脚的问题是,他们不坚持底部,当您滚动表时,给用户一个视觉上不稳定的用户体验。 好吧,我已经说了很多。 所以最后,有没有人实现了类似于Facebook的/ Instagram的NewsFeed评论场景? 如果是这样,你能帮我吗? 回顾一下:Facebook / Instagraminput文本字段随文本增长; 无论键盘的build议工具栏是显示还是隐藏,都会粘贴到键盘的顶部; 当键盘消失时,粘在屏幕的底部。

UITextField带有用于iPhone的下拉菜单

有没有简单的方法来创buildUITextField的下拉菜单,以便用户可以键入一个自定义条目或从列表中select一个?

UITextField获取当前编辑的单词

我正在做一个自动完成组件,我有一个问题,我想用一些简单的方法来解决。 我想支持对自动完成的文本进行编辑,例如: blablabl @usertag blablabl 如果用户返回并编辑@usertagstring,我想在编辑时启动自动完成。 问题是,如何从文本字段获取当前编辑的单词。 我考虑把光标位置,单独的nsstring用“”(空格)换成单词,并把第一个单词的字母数到光标位置。 有没有更简单的方法来做到这一点?

UITextfield显示在键盘 – 初学者的顶部

我有textboxes 。 当我点击它,键盘popup。 但是,由于uitextfield位于uitextfield下方,所以在popup键盘时会覆盖它。 (键盘显示在文本字段上方,因此用户无法看到它)。 我需要一种方法来移动textfield ,以便用户可以看到它。 iPhone的facebook应用程序有一个解决方法,他们收缩UIComponents视图上显示的textfield ,所以它不包括从键盘。 有人能指点我一个教程或示例代码开始?

设置新文本时更改UITextField中的光标

我发现一件事。 如果我设置为是function – textField:shouldChangeCharactersInRange:replacementString: 光标停留在我键入的相同位置,如(“|”=光标) "|" => Empty , type a "a|" => type b "ab|" => change cursor "a|b" => type c "ac|b" => type d "acd|b" => change cursor "ac|db" => type backspace "a|db" => type backspace again "|db" => *result* 但是,如果我必须改变文本,就像在倒数第二个字符中放一个"-" ,我做逻辑的事情,并设置文本: [textField setText:newText]; 但是上面的例子就是这样的: "|" => Empty , type a "a|" […]

UITextField如何检查是否按下删除键

我正在实施从我本地数据库的search栏,从数据库search用户input信息。问题是,我concat最近的字符和以前的,然后发送它的search。如何时,我可以删除字符(最后一个)时返回键被按下,我正在使用 – (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)范围replacementString:(NSString *)string 感谢您的答复

iOS UITextField-closures自定义的inputView

我为一些文本字段使用自定义inputView,但是当我在文本字段上调用resignFirstResponder,自定义input视图不会消除…任何build议? UITextField *f=[[UITextfield alloc] init]; UIView *view=[[UIView alloc] initWithFrame..]; [f setInputView:view]; //random example of how to set a textfields input view to a custom view 经过一番研究,这个问题只发生在使用一个视图控制器在模式视图中呈现时…否则工作正常… 谢谢 -Daniel

有些UITextfields在iOs6中没有响应

由于更新到iOS 6我试图使UITextField或UITextView firstResponder时有这个最怪异的错误。 …它不工作。 我无法select字段或视图并显示键盘,也没有光标或任何东西。 最奇怪的是,它只是在一些领域不工作,在不同的视图控制器中的其他工作没有麻烦。 我有: [self.window makeKeyAndVisible]; self.window.rootViewController = self.viewController; 在我的appDelegate。 它工作,仍然没有问题与iOS 5的工作。 任何想法可能是什么? 谢谢!

如何将文本字段添加到inputAccessoryView并使textView第一响应者

我的代码: – (void)viewDidLoad { [super viewDidLoad]; CGRect rectFake = CGRectZero; UITextField *fakeField = [[UITextField alloc] initWithFrame:rectFake]; [self.view addSubview:fakeField]; UIView *av = [[UIView alloc] initWithFrame:CGRectMake(0.0, 0.0, 0.0, 39.0)]; av.backgroundColor = [UIColor darkGrayColor]; CGRect rect = CGRectMake(200.0, 4.0, 400.0, 31.0); UITextField *textField = [[UITextField alloc] initWithFrame:rect]; textField.borderStyle = UITextBorderStyleRoundedRect; textField.font = [UIFont systemFontOfSize:24.0]; textField.delegate = self; [av […]