如何在简单表单上启用next和prev按钮

时间:2012-08-30 13:55:43

标签: iphone ios xcode

所以我正在寻找一种在我的iPhone中创建某种形式的方法。我添加了例如3个文本字段,当我点击第一个并写入内容时,我希望能够按下一个,它将带我到下一个文本字段。

link:http://shrani.si/f/3U/lB/3Nl9qXha/primer.png

如果您填写网络表单,我想做点什么。

2 个答案:

答案 0 :(得分:1)

当用户单击“下一步”时,您可以使用

[nextTextFieldAlong becomeFirstResponder];

...将光标移动到下一个字段。

答案 1 :(得分:1)

首先,你必须为你的字段设置标签(1-3),然后在这样的文本字段中设置一个accsesory视图

[messageView setInputAccessoryView:[self createAccesoryView]];

你可以使用这样的方法来生成附件视图(这是从苹果文档中获取的):

    -(UIView*)createAccesoryView{
        UIToolbar *toolbar = [[[UIToolbar alloc] init] autorelease];
        [toolbar setBarStyle:UIBarStyleDefault];
        [toolbar sizeToFit];
        UISegmentedControl *segmentControl = [[UISegmentedControl alloc] initWithItems:[NSArray arrayWithObjects:@"Previous", @"Next", nil]];
        [segmentControl setSegmentedControlStyle:UISegmentedControlStyleBar];
        [segmentControl addTarget:self action:@selector(selectNextPrevious:) forControlEvents:UIControlEventValueChanged];
        UIBarButtonItem *select = [[UIBarButtonItem alloc] initWithCustomView:segmentControl];
        UIBarButtonItem *flex = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:self action:nil];
        UIBarButtonItem *done = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(doneTyping)];
        [toolbar setItems:[NSArray arrayWithObjects:select, flex, done, nil]];
        return toolbar;
    }

然后在selectNextPrevious

-(void)selectNextPrevious:(id)sender{
if ([(UISegmentedControl*)sender selectedSegmentIndex]==0) {
if (activeField.tag>1) {
            [[self.view viewWithTag:activeField.tag-1] becomeFirstResponder];
        }
 else {
        if (activeField.tag<numberOfFields) {
            [[self.view viewWithTag:activeField.tag+1] becomeFirstResponder];
        }
    }

}