2

我从文本字段中的选择器中选择日期,然后单击发送按钮进行肥皂调用。但文本字段返回 null。肥皂的消息是

< date1 >null< date1 >
< date2 >null< date2 >

。H

   @property (nonatomic, retain) IBOutlet UITextField *Date1;
   @property (nonatomic, retain) IBOutlet UITextField *Date2;

.m

    @synthesize Date1,Date2;


-(void) viewWillDisappear:(BOOL)animated
 {

[Date1 resignFirstResponder];
[Date2 resignFirstResponder];


 }


 - (void)textFieldDidBeginEditing:(UITextField *)textField{
Date1 = textField;
Date2 = textField;


[self addInputViewToTextField:textField];
[self addInputViewToTextField:textField];

 }
 - (void)textFieldDidEndEditing:(UITextField *)textField{

Date1 = nil;
Date2 = nil;

 }

- (void)viewDidUnload {

[self setDate1:nil];
[self setDate2:nil];

[super viewDidUnload];

  }
4

3 回答 3

2

你用过

Date1 = nil;
Date2 = nil;

- (void)textFieldDidEndEditing:(UITextField *)textField{

这就是让它变空的原因

于 2013-05-16T10:49:12.080 回答
2

因为在您的情况下,textFieldDidEndEditing您正在使 UITextFiled 为零。每当 UITextField 辞去第一响应者的职务时,都会调用此方法。(并且如果将委托设置为您的类)

于 2013-05-16T10:49:21.907 回答
2

1)为两个textField设置委托

2)在 - (void)textFieldDidEndEditing:(UITextField *)textField.

您可以检查天气 textFiled 对象是 date1 还是 date2。编写您想要对文本执行的操作的代码。

于 2013-05-16T10:55:19.583 回答