问题标签 [uiscrollviewdelegate]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
17794 浏览

ios - scrollViewWillEndDragging:withVelocity:targetContentOffset: 不在 UISCrollView 的边缘工作

我正在尝试实现一个可滚动的自定义标签栏,并且在每个标签栏项目上都有分页。为此,我正在使用委托 scrollViewWillEndDragging:withVelocity:targetContentOffset: 它完美地解决了一个问题。

我的分页工作方式是,如果 contentOffset 靠近正确的项目,则 targetContentOffset 会更改为该项目的偏移量。左侧也一样。

问题是,每当我在第一个项目的左半部分和最后一个项目的右侧(滚动视图水平工作)它应该转到 ContentOffset 0 和最右边项目的内容偏移量(减去那些屏幕),但事实并非如此。

我检查了调试器,targetContentOffset->x 确实为 0(在第一种情况下 - 最左侧项目的左侧)。所以问题是 UIScrollView 没有在那里滚动。我迷路了。

这是我实现的委托:

这是解释我想要做什么的图表。

0 投票
3 回答
10757 浏览

ios5 - IOS。如何将 UIScrollview 滚动限制在有限的范围内?

对 UIScrollView 的左/右滚动设置限制的最佳方法是什么。我原以为这很容易,但我所有的尝试都没有成功。

因此,需要明确的是,我需要一个解决方案,让我可以在使用我的应用程序期间随时以编程方式限制滚动范围。这通常是为了响应正在显示的数据的变化。

谢谢,
道格

0 投票
2 回答
1587 浏览

iphone - 带有 Exc_Bad_Access 的 UIScrollView 缩放使应用程序崩溃

当我尝试滚动 UIScrollView 时,我在 main 中收到 Exc_Bad_Access 错误。这个程序很简单。我在 AppDelegate 中添加了一个 UIViewController。然后,这是 ViewController 中的代码。这适用于滚动,但只要我添加tmpScrollView.delegate = self. 当我尝试缩放时,程序不会滚动或缩放,并给我 Exc_Bad_Access 错误。

谢谢你的帮助。这已经让我发疯了一天......

编辑:也添加 centerScrollViewContens:

0 投票
2 回答
401 浏览

iphone - 缩放后无法在 UIScrollView 中设置图像

ImageScrollView用来显示图像。一开始我只显示小图像。当用户尝试缩放时,我会加载大图像。首先,我想使用以下代码执行此操作:

但它的工作原理很奇怪:当我尝试缩放时,显示了大图像,但我看到了它的最大缩放比例,我无法滚动查看图像的其余部分。但是当我再放大一次而不是滚动图像时,它开始正常工作,我终于可以滚动图像了。但我应该为此放大 2 倍。

然后我尝试scrollViewDidEndZoomingscrollViewWillBeginZooming

一切都变得完美了,除了一件事:为时已晚。我缩放小图像,我看到它是缩放变体,然后加载大图像,我看到大图像的最小缩放。对于用户来说,该图像似乎回到了以前的缩放状态。只有当我尝试再放大一次时,我才能完美放大。

先感谢您!

这是 ImageScrollView 的代码:

0 投票
0 回答
314 浏览

iphone - UIScrollView 缩放问题

我有 UIScrollView。当我缩放图像时,我应该先显示小图像,然后显示大图像。如果我使用此代码,一切正常:

ImageView 的大小 = 图像的大小(如果图像小,意思是,那 = 小图像的大小,如果图像大 - 大图像的大小) scrollView 的 ContentSize = imageView 的大小。

但是如果使用此代码(当我尝试缩放时,会显示大图像,但我看到它的最大缩放比例,并且我无法滚动查看图像的其余部分。但是当我再缩放一次而不是滚动图像,它开始正常工作,我终于可以滚动图像了。但我应该放大2倍):

为什么 scrollViewWillBeginZooming 不能正常工作?我需要在缩放之前设置大图像,但不是在缩放之后。

0 投票
3 回答
2151 浏览

ios - UIScrollViewDelegate 不触发方法

我有一个带有 UIScrollView 的视图,带有一些文本(通过 JSON 加载)。我需要检测用户何时到达滚动的末尾(我在这里看到了其他有关它的问题)但问题是,我已经完成了 .h 实现 UIScrollViewDelegate,我有

在我的 .h 文件中,并在 .m 文件中合成它。我的 viewDidLoad 中有这个:

在 Interface Builder 中进行连接(IBOutlet“滚动”与 UIScrollView 等)。

之后,我通过调用 JSON 来完成 UITextView,并执行与 scrollView 无关的其他事情。然后,我实现了方法 scrollViewDidScroll。但是,它永远不会被调用。滚动效果很好,让我上下查看整个文本。但是,知道为什么不调用协议的方法吗?

谢谢你。

0 投票
3 回答
1492 浏览

ios - 检测 UIScrollView 中的突然滚动停止

我想知道如何使用UIScrollViewDelegate来检测滚动视图何时突然停止移动,因为用户在从快速平移启动动量后触摸并按住屏幕。

scrollViewDidEndDecelerating:方法仅在用户抬起手指时针对上述情况触发。但是,如果用户在滚动视图动量期间点击并按住,则此方法不会触发(直到他们抬起手指)。当滚动视图在用户按下时停止时,是否有任何方法可以拦截这个?

0 投票
2 回答
539 浏览

iphone - UIScrollview 子视图在枚举时显示不正确的帧

嗨,伙计们,我有一个问题,我无法解决。

我已将此问题分解为自己的项目,我仍然可以重现它。

我有一个滚动视图说布局了 30 个 uibutton。(例如)

如果我要枚举子视图并记录帧,那么奇数的帧将具有预期之外的帧

即使在屏幕上绘制了视图,也会发生这种情况

例如

ViewDidLoad

日志:

2012-07-04 15:46:02.939 BUG 滚动条[2182:707] {{29, 647}, {72, 37}}

2012-07-04 15:46:02.946 BUG 滚动条[2182:707] {{119, 647}, {72, 37}}

2012-07-04 15:46:02.950 BUG 滚动条[2182:707] {{219, 647}, {72, 37}}

2012-07-04 15:46:02.954 BUG 滚动条[2182:707] {{313, 453}, {7, 7}}

如您所见,底部日志显示完全不正确的帧来源和大小。

奇怪的是,无论视图的大小如何,我似乎总是得到 7 的大小。

这看起来可重现,但在屏幕上不可见

这里发生了什么,我怎样才能避免它发生?

谢谢丹

0 投票
1 回答
224 浏览

ios - 防止在 UIScrollView 的最大/最小缩放时重绘屏幕

我的应用程序有一个相对昂贵的屏幕重绘。在其原始形式中,我们将 UIScrollview 的最小缩放设置为 100%,将最大缩放设置为 400%,在 scrollViewDidEndZooming 中,我们重绘屏幕。

我们的测试人员写了一个错误,当用户继续捏超过最小或最大缩放级别时,屏幕仍然闪烁,因为在后台发生了昂贵的重绘。

我试图通过检查(在scrollViewDidEndZooming中)缩放是否实际改变来解决这个问题,并且只有在改变时才刷新内容。

然而,这带来了一个新问题:如果用户(例如)从 100% 开始,并且在一个手势中捏到 400%,然后再缩回到 100%,则内容会稍微模糊。这是因为我的优化将缩放视为“没有改变”,因为它以 100% 开始和结束。但实际上,视图是按比例放大和缩小的,这会导致模糊。

通常,当视图通过这些过渡缩放时,我会简单地设置一个标志或其他东西,但 UIScrollView 似乎没有提供任何这样的钩子——只有一个用于开始和结束滚动的钩子。

有没有办法完成我想要做的事情,除了滚动我自己的手势识别器并放弃 UIScrollview 中的手势识别器,这似乎有点矫枉过正?

编辑:我很惊讶其他人没有遇到这个(或者至少没有回应他们如何处理它)。似乎任何具有相对昂贵重绘的应用程序都会遇到我的“之前”行为或“之后”行为,这对于昂贵的重绘情况都不是理想的。想法?

0 投票
1 回答
104 浏览

iphone - 在 UIScrollview 中限制 uiscrollview 委托列表中的特定委托

从可用UIScrollview委托列表的列表中。我想限制选择性 uiscrollview 委托功能,即:

我想限制它被编译器调用。我能做到吗?任何建议和帮助表示赞赏!