- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有两个水平滚动的 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 rollViewDidScroll”。
因此,决心继续前进,我尝试了一个相当黑客的解决方案,并尝试使用它:
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView2
{
int Position2 = (scrollView2.contentOffset.x);
if (Position2 == 0) {
NSLog(@"Play A2");
}
else if (Position2 == 280) {
NSLog(@"Play B2");
}
//etc.
}
问题在于,当我移动任一 UIScrollView 时,它会触发两种方法。例如,如果我将底部 UIScrollView 280 像素(一张图像)向右移动,我在控制台中得到的输出是:
PlayB
播放B2
如果我将顶部 UIScrollView 的三个图像向右移动,我得到的输出是:
PlayC
玩C2
这对我来说没有任何意义。
我想我可能会遇到自己对代表如何工作的不完全理解。在 viewDidLoad 方法中,我同时设置:
scrollView1.delegate = self;
scrollView2.delegate = self;
也许这就是问题的一部分?也许我通过声明两个 ScrollView 具有相同的委托(delegate)而造成麻烦?只是不确定。
我还尝试将所有条件语句合并到一个方法中 - 但我只想跟踪底部 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 - 将scrollViewDidScroll与多个UIScrollView一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1482889/
我认为在 iPhone 开发方面有不错的经验。据我所知..我确实设置了委托(delegate)..我从上到下都有UIView --> UIScrollView--> UITextView 我尝试了一切
我的 View Controller 底部有一个按钮。当用户向下滚动时,按钮必须附加到特定高度的 ScrollView 。 我需要在 contentOffset.y 达到特定值时立即将按钮附加到 Sc
我通过修改 PullToRefresh 库在 scrollViewDidScroll 中触发了 UIView 动画。我想要的是在用户开始拉动时触发动画,并在拉动以刷新标题 View 离开屏幕时终止它。
我正在编写程序以在滚动 UITableView 时移动名为“myView”的 UIView,请看下图: “myView”会随着tableview的contentoffset的变化而改变它的'y坐标',
我在 tgat 中有一个 UIScrollView 我有一个 UITableView。我已经禁用了 UITableView 的滚动所以我只想检查我的 ScrollView 是否已经到达底部,如果调用加
我已经设置了 scrollView 委托(delegate)并将逻辑实现到 scrollViewDidScroll 协议(protocol)方法中,如下所示,它永远不会进入第二种情况。我想知道我错过了
我正在使用 Collection View 来查看我的 rss 提要数据。我正在使用 -(void)scrollViewDidScroll:(UIScrollView *)scrollView 来检测
我正在使用 https://github.com/xmartlabs/XLPagerTabStrip 它有 containerview,这是一个 scrollview,子 viewController
我有两个类:Foo 和 Bar: // Foo protocol FooDelegate { func scrollViewDidScroll(offset: CGFloat) } class
当一个人在删除一行或添加一行时使用 UITableViewRowAnimation 时,有时如果该行位于 TableView 的极端,则表会滚动。 然而,即使它滚动,它似乎也没有在委托(delegat
大家好(和圣诞快乐) 希望有人能回答我的问题,那将是一个美好的圣诞节 礼物。 我的 UIViewController 一个表,在表部分区域中有一个分段控件。看起来像这样 每次用户单击分段控件时,我都会
我有这个委托(delegate),它打算在用户用手指滚动时执行: -(void)scrollViewDidScroll:(UIScrollView *)scrollView 我有一行代码滚动到开头:
出于某种原因,当我尝试创建一个函数 scrollviewdidscroll 时,它只给我一个 void 选项。我已经导入了 scrollviewdelegate,并在 viewdidload 中将委托
当用户使用 scrollViewDidScroll 滚动时,我正在尝试向我的(自定义)导航栏添加阴影,但它没有执行任何操作。我在另一个 View Controller 上有完全相同的代码,但它有一个
我创建了第一个 View Controller “MainViewController”,并将带有导出 contentContainer 的容器 View 放入其中。 我创建了第二个 View Con
我尝试在滚动屏幕时获取触摸位置。我尝试从 touchBegin() 获取它,但我做不到。那是因为 touchBegin 在滚动过程中从未调用过。我怎么解决这个问题???快速回答我。 最佳答案 使用 S
我的应用程序出现奇怪的结果。当我按下后退按钮时,它总是调用 scrollViewDidScroll 并且它使我的应用程序崩溃。 如果我没有滚动到底部(只需加载 View 然后按下后退按钮),就不会发生
所以人们对这个特定事件的大部分问题是在动画发生时让 scrollViewDidScroll 触发。我的情况正好相反。我觉得 scrollViewDidScroll 不应该在我的情况下触发。 让我进一步
我正在尝试检查用户是否在我的应用上上下滚动,但它没有调用我的 scrollViewDidScroll 方法 当我在应用程序上上下滚动时,为什么它不打印 received scroll 有什么想法吗?
我在 View 中有一个 Scrollview。我想使用函数 scrollViewDidScroll 来检查和更新箭头(左右)。 - (void)scrollViewDidScroll:(UIScro
我是一名优秀的程序员,十分优秀!