Iphone 4位密码类型视图:数字和光标控制
第一次发布到Stackoverflow,但已经搜索了一段时间了。 学习Objective-C&XCode并一直在创建简单的项目。 目前,我想尝试一个屏幕,用户将输入一个4位密码,其中每个数字在单独的文本字段中。 1) 如何使光标位于第一个文本字段,使键盘在应用程序启动时自动弹出 2) 如何使文本字段仅接受一位数字。可以在interface builder的文本字段属性中执行此操作吗?或者你必须以编程的方式去做 3) 如何在填充上一个文本字段后使光标跳转到下一个文本字段。当问题2完成时,这会自动发生吗Iphone 4位密码类型视图:数字和光标控制,iphone,objective-c,xcode4,interface-builder,Iphone,Objective C,Xcode4,Interface Builder,第一次发布到Stackoverflow,但已经搜索了一段时间了。 学习Objective-C&XCode并一直在创建简单的项目。 目前,我想尝试一个屏幕,用户将输入一个4位密码,其中每个数字在单独的文本字段中。 1) 如何使光标位于第一个文本字段,使键盘在应用程序启动时自动弹出 2) 如何使文本字段仅接受一位数字。可以在interface builder的文本字段属性中执行此操作吗?或者你必须以编程的方式去做 3) 如何在填充上一个文本字段后使光标跳转到下一个文本字段。当问题2完成时,这会自动发
非常感谢您的帮助。。。谢谢 创建一个隐藏的uitextfield,您实际上正在输入该字段。然后创建四个“可见”uitextfields,并在用户键入隐藏字段时在每个字段中添加一个项目符号字符
这是做您想做的事情的最简单的方法。创建一个隐藏的uitextfield,您实际上正在输入它。然后创建四个“可见”uitextfields,并在用户键入隐藏字段时在每个字段中添加一个项目符号字符 这是做你想做的事情的最简单的方法。好的,给你 1.必须在IB中创建4个UITextField,如textField1、textField2、textField3和textField4。并调用[textField1成为第一响应者];这将使光标位于文本字段1中 2.要使textfield只接受一个数字,您必须这样做
-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{
textField.text = string;
if ([string length] > 0) {
if ([textField isEqual:textField1]) {
[textField2 becomeFirstResponder];
}else if([textField isEqual:textField2]) {
[textField3 becomeFirstResponder];
}else if([textField isEqual:textField3]) {
[textField4 becomeFirstResponder];
}else if([textField isEqual:textField4]) {
[textField resignFirstResponder];
}
}
return FALSE;
}
您必须以编程方式执行此操作
3.和ans2一样。好的,给你
1.必须在IB中创建4个UITextField,如textField1、textField2、textField3和textField4。并调用[textField1成为第一响应者];这将使光标位于文本字段1中
2.要使textfield只接受一个数字,您必须这样做
-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{
textField.text = string;
if ([string length] > 0) {
if ([textField isEqual:textField1]) {
[textField2 becomeFirstResponder];
}else if([textField isEqual:textField2]) {
[textField3 becomeFirstResponder];
}else if([textField isEqual:textField3]) {
[textField4 becomeFirstResponder];
}else if([textField isEqual:textField4]) {
[textField resignFirstResponder];
}
}
return FALSE;
}
您必须以编程方式执行此操作
3.与ans2相同。完美!在你发帖之前,我已经知道了becomeFirstRepsonder的事。但你已经完成了我的问题2和3。成功了!谢谢那太好了,如果你得到了答案,请把这个帖子写下来。太好了!在你发帖之前,我已经知道了becomeFirstRepsonder的事。但你已经完成了我的问题2和3。成功了!谢谢那太好了,如果你得到你的答案,请把这个帖子写下来,让它有答案。谢谢你的建议。这个解决方案出人意料地难以找到。谢谢你的建议。这个解决方案出人意料地难以找到。