我尝试在单独的UILabel
上显示对UITextField
所做的更改。是否有方法在用户键入每个字符后捕获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;
}
- 如何在输入每个字符后从UITextField中取出文本?**
谢谢大家!
7条答案
按热度按时间q3aa05251#
1.首先将一个
UITextField
和UILabel
添加到故事板/ nib1.现在将
UILabel
赋值为IBOutlet
(这里我使用了 myLabel)1.将
UITextFieldDelegate
分配给文件所有者,并在.h文件中实现相同的委托1.使用以下代码行:
zzzyeukh2#
只需处理“编辑更改”事件
以及选择器:
您可以手动执行此操作,也可以使用情节提要,方法是按住Ctrl键并将“Editing changed”Sent事件拖动到您的.h,为您创建editingChanged方法。
ruoxqz4g3#
带有addTarget的Swift 2.0+
并实现
selector
p4tfgftt4#
在Swift 2.0+中
希望对你们这些快速先锋有所帮助
f3temu5u5#
在Swift 3.0中:
其中一些解决方案落后了一个字符,或者适用于较早版本的Swift和Obj-C。以下是我在Swift 3.0中使用的解决方案
在类中,我声明了一个占位符来存储文本。
在ViewDidLoad中,我使用了:
然后我做了一个函数叫做:
k3fezbri6#
Swift 3.0+:这对我来说非常有效。
f0brbegy7#