2014-02-17 76 views
2

我使用下面的代码。因为看起来我有5个uitextfields。现在由于某种原因,当我点击下一个时,视图实际上自动向下滚动,所以我可以看到我正在用键盘写数据的文本框。我认为这是默认的。Textfieldshould返回自动滚动屏幕

我在uiview中添加了很多代码,并添加了一个链接到另一个视图的按钮。不知何故,在这个过程中,我的uiview失去了“自动滚动 - 当下一个被按下”的机制。我尝试删除我的按钮,并弄乱了一下,但找不到问题。

不确定是否应该发布全班。

-(BOOL)textFieldShouldReturn:(UITextField*)textField; 
{ 
    [textField resignFirstResponder]; 

    if (textField == self.firstOne) { 
     [self.secondOne becomeFirstResponder]; 
    } else if (textField == self.secondOne) { 
     [self.thirdOne becomeFirstResponder]; 
    } else if (textField == self.thirdOne) { 
     [self.fourthOne becomeFirstResponder]; 
    } else if (textField == self.fourthOne) { 
     [self.fifthOne becomeFirstResponder]; 
    } 

    return NO; 
} 

我还发现了一些关于如何通过设置坐标来滚动屏幕编程的内容。在我看来,这不太可行。我希望它能成为“知道自动向下滚动”的方式。

回答

0

我希望添加了滚动中查看和下一步中添加5文本字段中的UIScrollView的子视图诸如此类的

[scrollView addSubView:textField1]; 

下一页增减集的滚动视图内容。如

- (void)textFieldDidBeginEditing:(UITextField *)textField 
{ 
     [scrollView setContentOffset:CGPointMake(0, 230) animated:YES]; 
} 
0

我发现原因是我在添加viewWillAppear方法时引入了新按钮。该代码没有调用超级方法,因此只需添加1行代码即可解决问题

- (void)viewWillAppear:(BOOL)animated { 
    [super viewWillAppear:animated]; 
    // your code 
}