cocoa – 使用带有多个UIScrollViews的scrollViewDidScroll

cocoa – 使用带有多个UIScrollViews的scrollViewDidScroll,第1张

概述我有两个水平滚动的UIScrollViews在一个ViewController中垂直堆叠在一起.每个UIScrollView占用屏幕的一半.我试图独立跟踪两个UIScrollViews的位置. 我已成功使用它来跟踪顶部UIScrollView的位置: - (void)scrollViewDidScroll:(UIScrollView *)scrollView1 {int Position = 我有两个水平滚动的UIScrollVIEws在一个VIEwController中垂直堆叠在一起.每个UIScrollVIEw占用屏幕的一半.我试图独立跟踪两个UIScrollVIEws的位置.

我已成功使用它来跟踪顶部UIScrollVIEw的位置:

- (voID)scrollVIEwDIDScroll:(UIScrollVIEw *)scrollVIEw1 {int position = (scrollVIEw1.contentOffset.x);    if (position == 0) {    NSLog(@"Play A");     }    else if (position == 280) {    NSLog(@"Play B");     }//etc.}

我想跟踪底部UIScrollVIEw的位置.

当我尝试使用它时:

- (voID)scrollVIEwDIDScroll:(UIScrollVIEw *)scrollVIEw2 {int position2 = (scrollVIEw2.contentOffset.x);if (position2 == 0) {NSLog(@"Play A2"); }else if (position == 280) {NSLog(@"Play B2"); }//etc.}

我收到一条错误,上面写着“重新定义FirstVIEwConroller scrollVIEwDIDScroll”.

因此,我决定坚持下去,我尝试了一个相当Hackish的解决方案,并尝试使用它:

- (voID)scrollVIEwDIDEndDecelerating:(UIScrollVIEw *)scrollVIEw2{int position2 = (scrollVIEw2.contentOffset.x);if (position2 == 0) {NSLog(@"Play A2"); }else if (position2 == 280) {NSLog(@"Play B2"); }//etc.}

这个问题是当我移动任何一个UIScrollVIEws时它会触发这两个方法.例如 – 如果我将底部UIScrollVIEw 280像素(一个图像)向右移动,我在控制台中获得的输出是:

更多播放
PlayB2

如果我向右移动顶部UIScrollVIEw三个图像,我得到的输出是:

PlayC
PlayC2

这对我没有任何意义.

我想我可能会碰到我对代表工作方式的不完全理解.在vIEwDIDLoad方法中,我设置了两个:

scrollVIEw1.delegate = self;scrollVIEw2.delegate = self;

也许这是问题的一部分?也许我通过声明两个scrollVIEws具有相同的委托来引起麻烦?只是不确定.

我还尝试将所有条件语句组合到一个方法中 – 但我只想跟踪底部UIScrollVIEw移动时的位置以及移动时顶部UIScrollVIEw的位置,并将逻辑全部放在一个方法中报告两个位置,当任何一个移动,这不是我正在寻找的.

任何帮助表示赞赏.很想解决这个特殊的问题,但也非常想了解我接近这个问题的任何更大的问题.还是新的.一直在想我已经掌握了它,然后我遇到了一些让我陷入困境的东西……

解决方法 这正是UIScrollVIEw参数的用途.在IB中创建与scrollVIEw1和scrollVIEw2的连接,然后执行以下 *** 作:

- (voID)scrollVIEwDIDScroll:(UIScrollVIEw *)scrollVIEw {    if (scrollVIEw1 == scrollVIEw) {        // Do stuff with scrollVIEw1    } else if (scrollVIEw2 == scrollVIEw) {        // Do stuff with scrollVIEw2    }}
总结

以上是内存溢出为你收集整理的cocoa – 使用带有多个UIScrollViews的scrollViewDidScroll全部内容,希望文章能够帮你解决cocoa – 使用带有多个UIScrollViews的scrollViewDidScroll所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/web/1071139.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存