jjzjj

shouldChangeCharactersInRange

全部标签

iphone - 仅在 shouldChangeCharactersInRange 返回 yes 后调用方法

我有一个UITextField,它下面有一个表格,显示了可供选择的项目列表(类似于下拉列表)。现在,例如,当我在文本字段中键入2(文本字段具有Year值)时,该表将显示所有以2作为子字符串的字符串。所以当我输入2000时,它只会在表中显示匹配的字符串2000。现在,当我在文本字段中完成输入2000时,我想调用一个方法。一切正常,但我只想在输入完所有4位数字时调用此方法,但此处当我尝试输入第4位数字时调用此方法。我如何在输入2000的地方执行此操作,它会在输入第三个零后shouldChangeCharactersInRange返回Yes后调用该方法。这是我的代码:-(BOOL)textF

objective-c - 调用 becomeFirstResponder 后未调用 shouldChangeCharactersInRange 方法

嗨,我是iOS新手,我在我的项目中使用了多个文本字段,所以我想使用becomeFirstResponder对任何一个文本字段进行编辑。它在xcode3.2.5中运行良好,但在xcode4.2.1中出现问题在xcode4.2.1中调用becomeFirstResponder后我无法编辑文本字段,它显示虚拟键盘我可以点击按键但点击的按键是未在文本字段中输入。请帮帮我。 最佳答案 首先在接口(interface)中添加这个委托(delegate):@interfaceyourViewController:UIViewController如

iphone - 文本字段 :shouldChangeCharactersInRange:replacementString: in subclass

我已经将UITextField子类化,我想在子类中使用类似于textField:shouldChangeCharactersInRange:replacementString:的方法,以便在键入字符时收到通知,并在必要时阻止更改,但避免将字段委托(delegate)设置为自身。我发现如果我重写keyboardInput:shouldInsertText:isMarkedText:和keyboardInputShouldDelete:我可以得到想要的效果,不幸的是这些方法是私有(private)的,任何使用类的方法无法通过AppStore提交流程。有人知道实现相同功能并且不需要字段是其自

objective-c - iOS:如何将 key 发送到 UITextField?

我在iOS应用程序中实现了自定义键盘View。我有几个使用此键盘的UITextFields。其中一些UITextFields具有覆盖shouldChangeCharactersInRange的委托(delegate)。但是,如果我的键盘只是在文本字段中设置文本值,则不会发送shouldChangeCharactersInRange消息。我认为我需要的是实际执行类似SendKey的操作并将键码发送到UITextField。有什么建议吗? 最佳答案 AsInoteinmyanswerhere,UITextField符合UITextInp

ios - 不为中文文本调用 TextField 委托(delegate)方法 shouldChangeCharactersInRange

我的应用程序支持中文文本。我想在我的文本字段中限制6个字符的字符串。但是shouldChangeCharactersInRange方法没有被调用。当键盘是英文时调用此方法并且它工作正常但是当键盘是中文并且我输入中文时不会调用方法。请解决这个问题。 最佳答案 我的应用程序也有这个问题。可能是iOS的bug,我不知道。我使用了这个解决方案:1)我将UITextField中的“编辑更改”IBOutlet制作成了类文件。2)我在这个-(IBAction)textFieldDidChanged:(id)sender方法中描述了所有逻辑。3)在

ios - 使用 shouldChangeCharactersInRange 函数时如何使特定文本字段不可编辑

我正在处理包含4个文本字段的注册页面。其中一个textfields用作Picker-view,当用户tap它时,一个picker-view将弹出,其中包含可供选择的选项。问题是我怎样才能使那个特定的textfielduneditable?(不是所有的文本字段)。我试过用functextField(textField:UITextField!,shouldChangeCharactersInRangerange:NSRange,replacementStringstring:String!)->Bool{returnfalse}但问题是它使我所有的文本字段都无法编辑。我也不能使用text

swift - shouldChangeCharactersInRange 多个文本字段被卡住

用解决方案更新了下面的代码。这适用于您想要的任意多个字段。它还修复了该方法返回false时文本框卡住的问题。下面这行是引导方法在返回false后返回true的内容。newString=currentString.stringByReplacingCharactersInRange(range,withString:string)在View上加载(这将为每个字段添加一个标识符,以便您可以在方法中识别正在使用的字段-它是一个Int())emailAddressField.tag=1userPasswordField.tag=2关于委托(delegate)方法functextField(te

ios - RxSwift 替换 shouldChangeCharactersInRange

我想将UITextfield与RxSwift一起使用。我的目标是允许/不允许在用户键盘中输入字符并从复制粘贴中删除字符,我需要使用RxSwift处理UITextfield的委托(delegate)“shouldChangeCharactersInRange”。如何用RxSwift实现?我正在使用RxSwift版本4。情况1:键盘输入:A123来自RxSwift的进程:接受123(不允许NumberPad)输出:123案例二:从联系人输入表单复制粘贴:\U202d1111111111\U202c来自RxSwift的过程:删除所有控制字符,接受1111111111输出:1111111111

ios - UITextFieldDelegate 与 UITextField 控件事件

如果我想处理对UITextField的更改,例如用户在其中输入;这似乎可以通过为该文本字段分配一个委托(delegate),然后让委托(delegate)实现shouldChangeCharactersInRange,或者通过向文本字段添加一个目标,并处理UIControlEventEditingChanged事件来完成。除了使用委托(delegate)方法可以返回NO并因此阻止用户进行编辑之外,这两者之间有什么区别吗?处理编辑开始或编辑结束的相同问题。它可以通过适当的委托(delegate)方法或适当的事件来完成。如果控件事件可以完成必要的工作,那么textField委托(deleg

ios - UITextFieldDelegate 与 UITextField 控件事件

如果我想处理对UITextField的更改,例如用户在其中输入;这似乎可以通过为该文本字段分配一个委托(delegate),然后让委托(delegate)实现shouldChangeCharactersInRange,或者通过向文本字段添加一个目标,并处理UIControlEventEditingChanged事件来完成。除了使用委托(delegate)方法可以返回NO并因此阻止用户进行编辑之外,这两者之间有什么区别吗?处理编辑开始或编辑结束的相同问题。它可以通过适当的委托(delegate)方法或适当的事件来完成。如果控件事件可以完成必要的工作,那么textField委托(deleg