Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 使用UITextField委托指定textField_Objective C_Cocoa Touch_Xcode - Fatal编程技术网

Objective c 使用UITextField委托指定textField

Objective c 使用UITextField委托指定textField,objective-c,cocoa-touch,xcode,Objective C,Cocoa Touch,Xcode,嗨,我是iphone/ipad应用软件的新手。 我正在使用textField委托方法: “(BOOL)textField应返回:(UITextField*)textField”。 我已经到了这样一个地步:当用户输入一个名称并按下“enter”键时,标签会显示用户刚才写的内容。这只是两行这样的代码: labelChange.text = textField.text; //labelChange is my label in IB return YES; 因为我在IB中有几个文本字段,所以这段

嗨,我是iphone/ipad应用软件的新手。 我正在使用textField委托方法: “(BOOL)textField应返回:(UITextField*)textField”。 我已经到了这样一个地步:当用户输入一个名称并按下“enter”键时,标签会显示用户刚才写的内容。这只是两行这样的代码:

labelChange.text = textField.text;  //labelChange is my label in IB
return YES;
因为我在IB中有几个文本字段,所以这段代码适用于所有这些字段。我不知道如何具体地使用代码,并且仅对我的一个文本字段更改此标签。 我的.h文件看起来像这样

@interface FirstViewController : UIViewController <UITextFieldDelegate> {

IBOutlet UILabel *labelChange;
IBOutlet UITextField *userName;
IBOutlet UITextField *homeValue; 
IBOutlet UITextField *downPayment;
IBOutlet UITextField *textField;
}

@property (nonatomic,retain) UILabel *labelChange;
@property (nonatomic,retain) UITextField *userName;
@property (nonatomic,retain) UITextField *homeValue;
@property (nonatomic,retain) UITextField *downPayment;
@property (nonatomic,retain) UITextField *textField;

@end
@interface FirstViewController:UIViewController{
IBUILabel*标签更改;
IBOutlet UITextField*用户名;
IBOutlet UITextField*homeValue;
IBOUTLE UITextField*首付款;
IBOutlet UITextField*textField;
}
@属性(非原子,保留)UILabel*labelChange;
@属性(非原子,保留)UITextField*用户名;
@属性(非原子,保留)UITextField*homeValue;
@财产(非原子,保留)UITextField*首付款;
@属性(非原子,保留)UITextField*textField;
@结束

我希望只有当用户在标记为“userName”的文本字段中键入时,我的标签才会更改。我不确定如何更改,我是否遗漏了什么?在IB中,我将所有文本字段代理连接到“Files Owner”。任何建议都会很有帮助。谢谢

为每个文本字段分配一个标记号,即

textField1.tag = 1
textField2.tag = 2
etc...
然后在
-(BOOL)textField应该返回:(UITextField*)textField
中,您可以执行以下操作:

switch (textField.tag) {
    case 1:
    labelChange1.text = textField.text;
    break;
    case 2:
    labelChange2.text = textField.text;
    break;
    etc... etc...
}

为每个文本字段分配一个标记号,即

textField1.tag = 1
textField2.tag = 2
etc...
然后在
-(BOOL)textField应该返回:(UITextField*)textField
中,您可以执行以下操作:

switch (textField.tag) {
    case 1:
    labelChange1.text = textField.text;
    break;
    case 2:
    labelChange2.text = textField.text;
    break;
    etc... etc...
}