0

我的 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)?

4

0 回答 0