UIScrollView 在 iPhone/iPad 上旋转时禁用滚动

2023-12-30

我使用 UIScrollView 和其中的图像作为每页分页一个图像。我在旋转时遇到问题iPhone http://en.wikipedia.org/wiki/IPhone

当我旋转iPhone时,scrollViewDidScroll(滚动视图委托方法)正在调用。 因此,我的分页受到干扰,页码发生变化。

解决办法是什么?


拉斐尔的回答 https://stackoverflow.com/questions/4123991/uiscrollview-disable-scrolling-while-rotating-iphone-ipad/5097143#5097143是对问题的出色描述,并且是一个巧妙的解决方案。我遇到了完全相同的问题并最终解决了scrollingLocked我在轮换开始前将其设置为“是”(锁定),在轮换结束时将其设置为“否”(解锁)。也许比暂时改变 contentSize 稍微不那么麻烦:

- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)orientation
                                duration:(NSTimeInterval)duration
{
    self.photoViewer.scrollingLocked = YES;
}

- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromOrientation
{
    self.photoViewer.scrollingLocked = NO;
}

- (void)scrollViewDidScroll:(UIScrollView*)scrollView
{
    if (self.scrollingLocked)
    {
        return;
    }
    /* do normal scrollViewDidScroll: stuff */
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

UIScrollView 在 iPhone/iPad 上旋转时禁用滚动 的相关文章

随机推荐