Ale*_*one 60 iphone objective-c uitextfield ios
我试图UITextField在一个单独的上显示对a 做出的更改UILabel.有没有办法捕获UITextField用户键入的每个字符后的全文?目前我正在使用此方法,但它不捕获用户输入的最后一个字符.
我知道UITextView有"didChange"方法,但我找不到那种方法UITextField.
//does not capture the last character
-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
[self updateTextLabelsWithText: textField.text];
return YES;
}
Run Code Online (Sandbox Code Playgroud)
如何在输入每个字符后从UITextField中取出文本?
谢谢!
Mru*_*nal 140
UITextField并添加UILabel到storyboard/nibIBOutlet给UILabel(这里我使用了myLabel)UITextFieldDelegate给文件所有者,也在.h文件中实现相同的委托使用以下代码行:
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
NSString *newString = [textField.text stringByReplacingCharactersInRange:range withString:string];
[self updateTextLabelsWithText: newString];
return YES;
}
-(void)updateTextLabelsWithText:(NSString *)string
{
[myLabel setText:string];
}
Run Code Online (Sandbox Code Playgroud)希望这可以帮助.
小智 70
只需处理"编辑已更改"事件即可
[textField addTarget:self
action:@selector(editingChanged:)
forControlEvents:UIControlEventEditingChanged];
Run Code Online (Sandbox Code Playgroud)
和选择器:
-(void) editingChanged:(id)sender {
// your code
}
Run Code Online (Sandbox Code Playgroud)
您可以手动执行此操作,也可以通过CTRL拖动"编辑已更改"已发送事件到.h,为您创建editingChanged方法.
在Swift 2.0+中
class CheckInViewController: UIViewController, UITextFieldDelegate {
override func viewDidLoad() {
super.viewDidLoad()
yourTextField.delegate = self
}
func textField(textField: UITextField!, shouldChangeCharactersInRange range: NSRange, replacementString string: String!) -> Bool {
var updatedTextString : NSString = textField.text as NSString
updatedTextString = updatedTextString.stringByReplacingCharactersInRange(range, withString: string)
self.methodYouWantToCallWithUpdatedString(updatedTextString)
return true
}
}
Run Code Online (Sandbox Code Playgroud)
希望它能帮助你迅速开拓者
Swift with addTarget Swift 2.0+
titleTextField.addTarget(self, action: #selector(textFieldTyping), forControlEvents: .EditingChanged)
Run Code Online (Sandbox Code Playgroud)
并实施 selector
func textFieldTyping(textField:UITextField)
{
//Typing
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
52738 次 |
| 最近记录: |