Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/35.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
Iphone 4位密码类型视图:数字和光标控制_Iphone_Objective C_Xcode4_Interface Builder - Fatal编程技术网

Iphone 4位密码类型视图:数字和光标控制

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完成时,这会自动发

第一次发布到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。成功了!谢谢那太好了,如果你得到你的答案,请把这个帖子写下来,让它有答案。谢谢你的建议。这个解决方案出人意料地难以找到。谢谢你的建议。这个解决方案出人意料地难以找到。