我有一个选项卡式应用程序,我想在它上面有一个滚动视图。我在该选项卡上已经有一些文本字段和标签。问题是,键盘隐藏了一些文本字段。我将如何添加垂直滚动来防止这种情况?
问问题
179 次
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 以便用户无法手动滚动它。
然后,您需要收听UIKeyboardWillShowNotification
并UIKeyboardWillHideNotification
根据需要手动向上/向下滚动。
于 2012-12-28T17:16:34.213 回答