我的 iOS 应用程序中有一个介绍滑动视图寻呼机类型,最后一页有两个文本输入。在从左向右滑动的滚动视图中显示了 7 个页面,因此在键盘出现的最后一页上,我将 contentOffset 更改为向上推布局,因此文本输入仍然在键盘上方可见。现在,无论何时用户选择下一个输入,甚至点击页面上的任何地方,contentOffset 都会被重置,输入会被放回键盘下方,然后用户需要点击退出以重置键盘并在第二次点击返回input 以输入他们的信息。这是非常反直觉的,我需要它停止重置。
有什么想法可以实现这一目标吗?我搜索了很多东西,但没有人对如何解决它有明确的答案,即使我看到很多人之前都遇到过这个问题......谢谢!
代码使用
func keyboardWillShow(sender: NSNotification)
{
if self.view.frame.height == 480.0
{
currentScrollViewOffset = CGPointMake(ContainerViewController.currentInstance.scrollView.contentOffset.x, ContainerViewController.currentInstance.scrollView.contentSize.height - (self.view.frame.height * 0.729))
ContainerViewController.currentInstance.scrollView.setContentOffset(currentScrollViewOffset!, animated: false)
}
}
func keyboardWillHide(sender: NSNotification) {
defaultScrollViewOffset = CGPointMake(ContainerViewController.currentInstance.scrollView.contentOffset.x, 0)
ContainerViewController.currentInstance.scrollView.setContentOffset(defaultScrollViewOffset!, animated: true)
}
请注意,ContainerViewController 是代码处理并将不同的视图设置到控制器中的一个 UIScrollView 中以进行滑动页面介绍
有没有办法捕捉用户“触摸”并防止偏移量被重置回看起来是(0,0)?