Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/43.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 如何使用“下一步”、“上一步”和“完成”按钮获取键盘?_Iphone_Cocoa Touch_Ios4_Iphone Keypad - Fatal编程技术网

Iphone 如何使用“下一步”、“上一步”和“完成”按钮获取键盘?

Iphone 如何使用“下一步”、“上一步”和“完成”按钮获取键盘?,iphone,cocoa-touch,ios4,iphone-keypad,Iphone,Cocoa Touch,Ios4,Iphone Keypad,我想要一个键盘,上面有下一个、上一个和完成按钮 我在很多应用程序中都看到了这一点 尤其是有表格需要填写的地方 我想实现类似上述键盘的功能 这是一个自定义控件,直接放在键盘上方。我认为UIToolbar可以用于此 上一次和下一次传递文本字段的第一响应者,完成后将执行辞职以及隐藏工具栏 要匹配键盘动画,请查看我找到的或SO:您将在上找到答案。 我检查了iOS库,UITextField的名称正是您要查找的 希望这有帮助 我刚刚创建了一个名为的类,它可以很容易地将控件添加到键盘。可以找到类、说明和示例

我想要一个键盘,上面有下一个、上一个和完成按钮

我在很多应用程序中都看到了这一点

尤其是有表格需要填写的地方

我想实现类似上述键盘的功能


这是一个自定义控件,直接放在键盘上方。我认为UIToolbar可以用于此

上一次和下一次传递文本字段的第一响应者,完成后将执行辞职以及隐藏工具栏

要匹配键盘动画,请查看我找到的或SO:

您将在上找到答案。 我检查了iOS库,UITextField的名称正是您要查找的


希望这有帮助

我刚刚创建了一个名为的类,它可以很容易地将控件添加到键盘。可以找到类、说明和示例代码


这些控件适用于文本字段和文本视图,并针对iPhone和iPad进行了优化。

我创建了一个应用程序,该功能可在iPhone/iPad上全方位运行,高度可定制

我有一个实用程序类,基本上可以为您实现这一点

这个想法很简单。您必须添加带有工具栏按钮项的附件工具栏。有一个代表定义了按钮的作用。

-(BOOL)textFieldShouldBeginEditing: (UITextField *)textField 

{
     UIToolbar * keyboardToolBar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, 320, 50)];

    keyboardToolBar.barStyle = UIBarStyleDefault;
    [keyboardToolBar setItems: [NSArray arrayWithObjects:
                                [[UIBarButtonItem alloc]initWithTitle:@"Previous" style:UIBarButtonItemStyleBordered target:self action:@selector(previousTextField)],

                                [[UIBarButtonItem alloc] initWithTitle:@"Next" style:UIBarButtonItemStyleBordered target:self action:@selector(nextTextField)],
                                [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil],
                                [[UIBarButtonItem alloc]initWithTitle:@"Done" style:UIBarButtonItemStyleDone target:self action:@selector(resignKeyboard)],
                                nil]];
    textField.inputAccessoryView = keyboardToolBar;

}



- (void)nextTextField {


    if (textField1) {

        [textField1 resignFirstResponder];
        [textField2 becomeFirstResponder];

    }

}

-(void)previousTextField
{

    if (textField2) {
        [textField2 resignFirstResponder];
        [textField1 becomeFirstResponder];
    }


}

-(void)resignKeyboard {

    [textField1 resignFirstResponder];
    [textField2 resignFirstResponder];

}
这是迄今为止我见过的最好的键盘处理程序。非常好的管理文本输入的方法

它的一些特点 1) 零行代码

2) 自动工作

3) 没有更多的UIScrollView

4) 没有更多的子类

5) 不用再做体力活了


6) 没有更多的#导入

如其他答案中所述,这是您正在寻找的

我想在这里添加另一种方法,使用cocoapods:

吊舱“

所有
UITextField
s将有两个附加属性:
nextTextField
previousTextField
。然后,您只需在界面生成器中连接
nextTextField
,即可自动添加“上一步”、“下一步”和“完成”按钮,所有功能都正常,无需更多代码,无需子类化

您还可以根据需要自定义UI、添加更多按钮等


是的,我尝试过类似的方法,但当我在文本框中单击时,工具栏立即出现,键盘从下方出现,所以看起来是分开的。显示时它不同步。它看起来是分开的。我希望键盘和工具栏都应该从屏幕的底部走到一起。我该怎么做?使用与键盘匹配的动画块。谢谢你的输入。我是动画新手。如何使用与键盘匹配的动画块?看一看苹果的想法/概念…我只需要做一些更改。我想为9 textfield编写此代码,所以如果(textField1){[textField1辞职firstresponder];[textField2成为firstresponder];}9次不同的文本字段,但它不工作为什么?刚刚发现的BSkeyboardControls和爱它!需要它使用UIDatePicker而不是textfield。有这方面的示例代码吗?此回购协议已过期一年。使用其派生的回购协议,也可以像脚本一样使用脚本