我有一行已经以编程方式实例化的标签,它们存储在NSMutableArray中。它们目前不包含任何数据。我正在尝试做的是,当用户键入一个字符时,它会自动显示在标签中。我不知道该怎么做。我知道如何访问我创建的标签[MyArray ObjectAtIndex:0]等等,但我怎么能这样做,以便当用户在键盘上键入时,它会格式化文本(我有格式代码),然后才出现在屏幕上。
我需要帮助将每个角色放在屏幕上,因为它是键入的。
任何帮助都将非常感激 - 我有一个文本字段(它是隐藏的),键盘按钮出现。如果这有帮助。 :)
提前谢谢你:)。
答案 0 :(得分:3)
UITextField *tf;
[tf addTarget:self action:@selector(editingChanged:) forControlEvents:UIControlEventEditingChanged];
- (void)editingChanged:(UITextField *)textField {
_myHiddenLabel.text = textField.text;
}
答案 1 :(得分:1)
您可以在UITextField中的文本更改时添加观察者,然后访问您的标签并向其添加文本...
- (void)textFieldDidBeginEditing:(UITextField *)textField
{
[[NSNotificationCenter defaultCenter]
addObserver:self
selector:@selector(changeLabelsMethod:)
name:UITextFieldTextDidChangeNotification
object:myHiddenTextField];
}
-(void)changeLabelsMethod:(UITextField*)txtField
{
Static int i=0;
if(i<[MyArray count])
{
UILabel *lbl=[MyArray ObjectAtIndex:i];
lbl.text=txtField.text;
}
else
return
i++;
}
编辑:请参阅 Eugene的答案正确方法
答案 2 :(得分:0)
如果您将viewController设置为隐藏的textField的委托并实施UITextFieldDelegate Protocol
,则每次输入字符时都会收到通知答案 3 :(得分:0)
- (IBAction)textFieldValueChanged {
NSString *strLastChar = [txtSearch.text substringFromIndex:txtSearch.text.length-1];
UILabel *lblCurrent = [arrSearch objectAtIndex:intCurrentLblNo];
[lblCurrent setText:strLastChar];
intCurrentLblNo++;
}
将intCurrentLblNo作为全局变量并设置intCurrentLblNo = 0;在viewdidload方法
并设置它......
[txtSearch addTarget:self action:@selector(textFieldValueChanged) forControlEvents:UIControlEventValueChanged];
在viewdidload方法中