0

我有一个选项卡式应用程序,我想在它上面有一个滚动视图。我在该选项卡上已经有一些文本字段和标签。问题是,键盘隐藏了一些文本字段。我将如何添加垂直滚动来防止这种情况?

4

2 回答 2

1

您可以在没有滚动视图的情况下完成您正在寻找的内容。

在您的文本字段的委托方法中,您可以更改 viewController 视图的框架。

就像是

- (void)textFieldDidBeginEditing:(UITextField *)textField;           
{
CGRect newFrame = self.view.frame;
newFrame.origin.y = - 40;  // move the view up to the point your textfield is visible
self.view.frame = newFrame;
}

然后在 Set it back

- (void)textFieldDidEndEditing:(UITextField *)textField;  
{
 CGRect newFrame = self.view.frame;
 newFrame.origin.y = 0;
 self.view.frame = newFrame;   
}

通常我用 0.33 秒的持续时间制作这个动画。

于 2012-12-28T17:22:11.063 回答
0

该解决方案需要相当多的代码,但这里是您需要的一般概念:

您需要将文本字段(以及其他所有内容以保持一致性)添加到滚动视图。

您需要将滚动视图设置为仅具有垂直滚动空间,但将其设置scrollEnabled为 false 以便用户无法手动滚动它。

然后,您需要收听UIKeyboardWillShowNotificationUIKeyboardWillHideNotification根据需要手动向上/向下滚动。

于 2012-12-28T17:16:34.213 回答