0

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

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

如果您填写网络表格,我想做一些事情。

4

2 回答 2

1

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

[nextTextFieldAlong becomeFirstResponder];

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

于 2012-08-30T13:59:14.090 回答
1

首先,您必须为您的字段(1-3)设置标签,然后在您的文本字段中设置一个附件视图,如下所示

[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];
        }
    }

}
于 2012-08-30T14:44:45.247 回答