ios uiscrollview 在 uiimageview 之间启用分页如何检测哪一个在屏幕上/可见

问题描述 投票:0回答:1

所以我有一个 UIScrollview,它可以水平滚动并分页浏览一堆包含用户头像的不同 UIImageView。但是,我只想从 URL IFF 加载头像,它们实际上显示在屏幕上(一次显示 4 个,但我可以滚动浏览 30 个或更多或更少)。 有没有办法检测哪个 UIImageView/它位于哪个页面?或者有人对我应该如何解决这个问题有任何一般性建议或想法吗? 提前谢谢你。

ios iphone pagination uiscrollview uiimageview
1个回答
1
投票

-(void)scrollViewDidScroll:(UIScrollView *)scrollView{

-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
        CPoint offset = scrollView.contentOffset;
        int index = offset.x / pageWidth;
        switch (index) {
            case 0:
                //first ImageView
                break;
            case 1:
                //second ImageView
                break;
            default:
                break;
        }
    }

或者如果您标记您的 imageViews(从 1 开始),您可以通过以下方式检索它们:

-(void)scrollViewDidScroll:(UIScrollView *)scrollView{

-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
    CPoint offset = scrollView.contentOffset;
    int index = offset.x / pageWidth;
    UIImageView *visibileImageView = (id)[scrollView viewWithTag:index+1];
}

如果使用模数,则可以使用scrollViewDidScroll来检测任意点的位置:

int index = (offset.x - offset.x % pageWidth)/pageWidth;
© www.soinside.com 2019 - 2024. All rights reserved.