我有一个标签式应用程序,我希望有一个滚动视图。我在该选项卡上已经有一些文本字段和标签。问题是,键盘隐藏了一些文本字段。如何添加垂直滚动以防止这种情况?
答案 0 :(得分:1)
如果没有滚动视图,您可以完成您要查找的内容。
在你的textfield的委托方法中,你可以改变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;
}
然后在“设置回来”
- (void)textFieldDidEndEditing:(UITextField *)textField;
{
CGRect newFrame = self.view.frame;
newFrame.origin.y = 0;
self.view.frame = newFrame;
}
通常我会以0.33秒的持续时间为此设置动画。
答案 1 :(得分:0)
解决方案需要相当多的代码,但这里是您需要的一般概念:
您需要将文本字段(以及其他所有内容以保持一致性)添加到scrollView。
您需要将滚动视图设置为仅具有垂直滚动空间,但将scrollEnabled
设置为false,以便用户无法手动滚动它。
然后您需要收听UIKeyboardWillShowNotification
和UIKeyboardWillHideNotification
并根据需要手动上/下滚动。