Xcode/iOS5:按下UITextField时显示UIDatePicker(+;隐藏默认键盘)

Xcode/iOS5:按下UITextField时显示UIDatePicker(+;隐藏默认键盘),xcode,uitextfield,ios5,uidatepicker,Xcode,Uitextfield,Ios5,Uidatepicker,我只想在UITextField处于活动状态时调用UIDatePicker。选择日期时,该日期应显示在同一UITextField中 我甚至不知道怎么打电话给拾荒者 有人能帮我吗?有一个名为 -(void)textFieldDidBeginEditing:(UITextField*)textField { [textField resignFirstResponder]; in this you have to do this pick = [[UIDatePicker alloc] init];

我只想在UITextField处于活动状态时调用UIDatePicker。选择日期时,该日期应显示在同一UITextField中

我甚至不知道怎么打电话给拾荒者


有人能帮我吗?

有一个名为

-(void)textFieldDidBeginEditing:(UITextField*)textField
{
[textField resignFirstResponder];
 in this you have to do this
pick = [[UIDatePicker alloc] init];
[pick setFrame:CGRectMake(0,200,320,120)];
[pick addTarget:self action:@selector(done) forControlEvents:UIControlEventValueChanged]
[self.view addSubview:pick];
}


释放pick-in-dealoc

以添加到杀手的答案中,我认为您应该实现

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField

取而代之,返回编号。然后显示日期选择器,并根据选择器选择填写UITextField文本。

不要忘记释放拾取。谢谢你的杀手。但是我得到了一个错误:使用未声明的标识符'pick'.UIDatePicker*pick将其写入.h文件中好的。但是现在在-(void)done中出现了一个错误:不兼容的指针类型将“NSDate*”发送到类型为“NSString*”的参数。通过使用此命令获取NSDateFormatter,您可以将NSDate转换为NSString。谢谢jbat:)但我得到了错误:使用未声明的标识符“pick”。只需创建一个ivar(实例变量),声明pick(UIDatePicker*pick;)在标题中(并创建保留属性)。这样,您可以保留对它的引用,以便在用户完成后将其从视图中删除。好的。但是现在在-(void)done中出现了一个错误:不兼容的指针类型将“NSDate*”发送到类型为“NSString*”的参数。您需要将NSDate(pick.date)转换为字符串(使用NSDateFormatter),然后将该字符串分配给textfield.text。我以前尝试过:选择器现在出现在每个textfield上,不再消失。。
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField