Tag: uitextfielddelegate

应该如何在Swift中更改字符?范围?

我正在使用shouldChangeCharactersInRange作为使用即时typessearch的一种方式。 不过,我有一个问题,在文本字段实际更新之前调用shouldChangeCharactersInRange : 在Objective C中,我使用下面的方法解决了这个问题: -(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string { NSString * searchStr = [textField.text stringByReplacingCharactersInRange:range withString:string]; return YES; } 不过,我试过在Swift中写这个: func textField(textField: UITextField!, shouldChangeCharactersInRange range: NSRange, replacementString string: String!) -> Bool { let txtAfterUpdate:NSString = self.projectSearchTxtFld.text as NSString txtAfterUpdate.stringByReplacingCharactersInRange(range, withString: string) self.callMyMethod(txtAfterUpdate) return true } 在获取值之前,该方法仍然被调用?

格式UITextField文本没有光标移动到最后

我正在尝试在处理新的文本条目后,通过按键击键将NSAttributedString样式应用于UITextField 。 问题是,当我更换文本时,光标会在每次更改时跳到最后。 这是我目前的做法… 立即接收并显示文本更改(当我返回false并手动进行文本replace时,也是同样的问题) func textField(textField: UITextField!, shouldChangeCharactersInRange range: NSRange, replacementString string: String!) -> Bool { let range:NSRange = NSRange(location: range.location, length: range.length) let newString = (textField.text as NSString).stringByReplacingCharactersInRange(range, withString: string); return true } 我订阅了UITextFieldTextDidChangeNotification通知。 这触发了样式。 当文本被改变时,我用一些format()函数replace它( NSString )与格式化的版本( NSAttributedString )。 func textFieldTextDidChangeNotification(userInfo:NSDictionary) { var attributedString:NSMutableAttributedString = NSMutableAttributedString(string: fullString) attributedString = format(textField.text) as NSMutableAttributedString […]

奇怪的错误,同时使用UITextFieldDelegate

与UITextField委托搞乱时,我有这个错误: Can't find keyplane that supports type 8 for keyboard Wildcat-Landscape-QWERTY-Pad; using 3673479387_Wildcat-Alphabetic-Keyboard_Capital-Letters 有人有什么想法是什么? 提前致谢。

按下UITextField的小十字button时的动作

我可以添加一个小的十字button,用于清除UITextField中的所有文本,使用下面的代码。 textField.clearButtonMode = UITextFieldViewModeWhileEditing; 我也实现了UITextFieldDelegate 。 我想根据UITextField的更改激活/取消激活UINavigationBar的右侧button。 规则很简单:如果文本字段至less有一个字符,只需启用该button,否则禁用它。 我实现了UITextField的委托方法textField:shouldChangeCharactersInRange:不断检查需求并更新button的状态。 现在我的问题是,当我点击文本字段上的小十字button,方法textField:shouldChangeCharactersInRange:不会被调用。 所以缺less必要的操作。 我如何识别清除button的点击事件? 一些图片来显示我在说什么。 初始阶段:在这里,“完成”button被禁用,因为在文本字段中没有字母 当input一个字母,“完成”button被启用 现在,如果我点击清除button,“完成”button仍然可用。 这是错误的。

UITextField委托跳转到100%的CPU使用率和使用键盘快捷键时崩溃

所以,我有一个UITextField子类,它是它自己的Delegate ,并在使用键盘快捷方式时崩溃。 它最大限度地在CPU ,并没有给出错误。 没有分配它自己的Delegate ,它没有问题。 当它被指定为Delegate ,即使不使用任何(可选)方法,也会崩溃。 自己尝试一下: 子类UITextField 。 – (id)initWithFrame:(CGRect)frame { self = [super initWithFrame:frame]; if (self) { self.delegate = self; } return self; } 它应该会崩溃。 编辑回溯: * thread #1: tid = 0x3bb8d, 0x39f14726 libobjc.A.dylib`lookUpImpOrNil + 18, queue = 'com.apple.main-thread, stop reason = signal SIGSTOP frame #0: 0x39f14726 libobjc.A.dylib`lookUpImpOrNil + 18 frame […]

iOS的Swift通过closures属性?

比方说,我有一个自定义的UIView,让我们称之为MyCustomView。 在这个视图里面是一个UITextField属性。 假设我的目标是能够创build一个MyCustomView的实例,并将其添加到某个视图控制器,我希望该视图控制器能够处理在该文本字段上采取的行动。 例如,如果我在文本字段中的键盘上点击“返回”,我可能想要做一些操作 – 让我举一个例子来说明我用一些Objective-C伪代码想象的内容: MyCustomView *myView = [[MyCustomView alloc] initWithFrame:CGRectMake(10,10,100,100)]; myView.textField.actionBlock = { /* do stuff here! */ } [self.view addSubview:myView]; 然后在MyCustomView类中,我会做这样的事情: – (BOOL)textFieldShouldReturn:(UITextField *)textField { self.actionBlock(); return NO; } 我想自定义视图是UITextFieldDelegate,所以每次我这样做,我不会把所有的委托方法添加到视图控制器,我将它添加到,而是有一个单一的实现,只是做任何我传递给它…如何迅速做到这一点?

下一步/完成button使用Swift与textFieldShouldReturn

我有一个MainView,当注册button被按下时,添加一个子视图(signUpWindow)。 在我的signUpWindow子视图(SignUpWindowView.swift)中,我用一个函数设置每个字段,例如: func confirmPasswordText() { confirmPasswordTextField.frame=CGRectMake(50, 210, 410, 50) confirmPasswordTextField.placeholder=("Confirm Password") confirmPasswordTextField.textColor=textFieldFontColor confirmPasswordTextField.secureTextEntry=true confirmPasswordTextField.returnKeyType = .Next confirmPasswordTextField.clearButtonMode = .WhileEditing confirmPasswordTextField.tag=5 self.addSubview(confirmPasswordTextField) } 我有键盘移动signUpWindow上下时,它出现在MainView中消失。 SignUpWindowView实现了UITextFieldDelegate 我的问题是,我正试图configuration键盘上的下一步/完成button,并不确定哪个视图( MainView或SignUpWindowView )添加textFieldShouldReturn函数。 我已经尝试了两个,但是甚至不能得到一个println来testing,看看该函数是否被执行。 一旦我得到textFieldShouldReturn火,我相信我可以执行必要的代码来获得下一个/完成button来做我想做的,并将发布最终的解决scheme,包括下一个/完成function。 已更新包含SignUpWindowView.swift的缩写版本 import UIKit class SignUpWindowView: UIView,UITextFieldDelegate { let firstNameTextField:UITextField=UITextField() let lastNameTextField:UITextField=UITextField() override func drawRect(rect: CGRect){ func firstNameText(){ firstNameTextField.delegate=self firstNameTextField.frame=CGRectMake(50, 25, 200, 50) firstNameTextField.placeholder="First Name" firstNameTextField.returnKeyType = […]

当键盘不隐藏文本字段时移动视图

在我的应用程序中,当我点击文本字段时,键盘隐藏它。 请帮助我 – 当我点击文本字段时,如何移动我的视图。 我在textFieldDidBeginEditing:使用这个代码textFieldDidBeginEditing: self.tableView.scrollIndicatorInsets = UIEdgeInsetsMake(0, 0, 216, 0); self.tableView.contentInset = UIEdgeInsetsMake(0, 0, 216, 0); 但它不起作用。

只允许UITextField的字母数字字符

我将如何去允许在iOS UITextField只input字母数字字符?