问题标签 [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 投票
1 回答
160 浏览

iphone - 在动画图像视图时检测触摸的困难

我正在尝试使用以下代码为图像设置动画:

我有 UIScrollView,它有一个子视图 UIImageView,而 fimage 是 UIImageView。但是当我尝试检测它的触摸时,我无法做到这一点。谁能帮我?是否可以检测 UIScrollView 上的触摸。

主要应用程序是在平移中显示图像,当用户单击它时,包含该图像的网页应在下一个 Web 视图中加载。我怎样才能做到这一点?

0 投票
2 回答
1763 浏览

iphone - 当我设置 UIWebView 的内置 UIScrollView 的委托时,我失去了捏缩放的能力,我该如何取回它?

我正在使用 UIWebView 来显示 PDF。我需要跟踪一些 UIScrollView 事件,所以我将内置的 UIScrollView 设置为:

但问题是,当我这样做时,我失去了捏缩放的能力(就像我以前一样,因为设置了 UIWebView 的 Scale Pages to Fit 属性)。怎么会这样?我能做些什么来修复它?我继续并实现了 UIScrollView shouldZoom 方法,但是当我将 scrollView 作为要放大的视图传回时,它从角落缩放,而不是我手指所在的位置。

有人知道这个问题的解决方案吗?我怎样才能设置 UIScrollView 委托,并且仍然保留自然缩放能力?

谢谢!

0 投票
1 回答
4806 浏览

iphone - 如何获取从标准 UIViewController 中调用的 UIWebView 的 UIScrollView 委托方法?

所以我只有一个标准的 UIViewController,里面有一个 UIWebView,它显示一个 pdf。对于应用程序功能,我需要能够响应 UIWebView 的嵌套 UIScrollView 事件,例如 scrollViewWillBeginDragging、scrollViewDidScroll 等。

我可以访问 scrollView 的唯一方法是(这似乎是一个 hack)进入并通过 subviews 数组获取它:

但这似乎带来了比其价值更多的问题,因为我失去了像缩放这样的原生 UIScrollView 的东西。

所以总结一下我需要什么:

将我的 UIViewController 类设置为 UIWebView 内的 UIScrollView 代表的最佳方法是什么?我是否需要对我自己的 UIWebView 进行子类化,以便它以某种方式处理来自 UIWebView 中内置的事件,然后以某种方式将其传递给 UIViewController?无论如何,那个传递的东西是如何工作的?

请指教!

谢谢!

0 投票
1 回答
8477 浏览

iphone - 如何以与手动缩放完全相同的方式以编程方式缩放 UIScrollView

我有 2 个并排的 UIScrollView,我正在研究的一项功能是能够捏合和缩放 1 个 UIScrollView,并让旁边的另一个以与我正在点击的完全相同的方式响应。特别感兴趣的是放大另一个 UIScrollView 正在放大的同一区域。只设置 zoomScale 是一回事,而准确地模拟缩放行为则是另一回事。

我怎样才能做到这一点?

0 投票
2 回答
2362 浏览

uiscrollview - 滚动时如何将 UIScrollView 子视图“粘贴”到顶部/底部?

您可以在 Gilt 等 iPhone 应用程序中看到这一点。用户滚动一个视图,并且一个子视图显然“粘”到一个边缘,因为其余的 scrollView 在下面滑动。也就是说,scrollView 中有一个文本框(或其他任何内容),当 scrollView 到达视图顶部时,当视图的其余部分继续滑动时“粘”在那里。

所以,有几个问题。首先,可以通过“scrollViewDidScroll:”(在正常滚动期间)确定感兴趣的视图何时通过(或重新出现)。这里有相当多的粒度 - 委托调用之间的差异可能是一百点或更多。也就是说,当您看到视图接近 scrollView 顶部时,您会打开静态显示在 scrollView 顶部下方的视图的第二个副本。我没有对此进行编码,但它似乎缺乏真正的“棒”外观 - 视图将首先消失然后重新出现。

其次,如果执行 setContentOffset:animated,则不会获得委托消息(Gilt 不会这样做)。那么,在这种情况下如何获得回调呢?你在 "scroll.layer.presentationLayer.bounds" 上使用 KVO 吗?

0 投票
1 回答
1274 浏览

objective-c - 如何在 TableViewCell 中实现 ScrollView

嘿伙计们,我正在尝试使用页面控件实现滚动,例如 iPhone 主屏幕,但在 uitableview 单元格中。

我尝试这样做是创建一个带有 xib 文件的自定义表格视图单元格,并将 uipagecontrol 和 uiscrollview 放在其上,并将其与 iboutlets 连接到 uitableviewcell。

这是自定义单元格的 .h 文件中的代码。

这是合成属性后自定义单元格的 .m 文件中的代码。

希望你们能帮助我完成这项工作。如果我正在尝试有不同的方法/更好的方法,请告诉我。

对于我想要实现的目标的视觉参考,我认为脉冲新闻应用程序符合要求

http://itunes.apple.com/us/app/pulse-news-for-iphone/id377594176?mt=8

它是一个表格视图,每个单元格上都有水平滚动。

谢谢。

0 投票
4 回答
2277 浏览

objective-c - 为什么我向同一个方向快速滑动两次时,UIScrollView 会剧烈滚动?

在 UIScrollview 中水平滚动时,如果我在同一方向快速滑动两次,滚动视图会剧烈跳跃。有没有办法防止这种情况发生?为了详细解释,这是来自滚动视图的事件日志,在大多数委托方法中,我只打印 x 坐标。

日志中最值得注意的是在 scrollViewWillBeginDeceleration 之后,contentoffset.x 在几毫秒内以约 6000 点跳跃。

执行

uiscrollview 和 uiscrollviewdelegate 属于同一个类,是 uiscrollview 的子类,它也实现了 uiscrollviewdelegate 协议,对 contentoffset 没有什么特别的,在 scrollview 上设置的唯一属性是:

滚动视图子视图是通过在承载 uiscrollview 的 uiviewcontroller 中的 viewwillappear 调用添加一次(并且 contentSize 已适当设置)。滚动,等待一会儿,然后再次滚动完美。

0 投票
3 回答
3430 浏览

iphone - UIScrollView 委托方法冲突

我正在使用以下两个 UIScrollView 委托方法来调用我的 UIViewController 中的另一个方法:

我尝试了各种不同的调用//做某事的方法,但要么最终都没有被调用,要么两个委托方法都被调用,在某些情况下调用 //do something 两次。例如:

因此,如果我滚动并让它减速停止,它会调用scrollViewDidEndDecelerating:,但如果我通过点击滚动并停止它,它会调用scrollViewDidEndDragging:和scrollViewDidEndDecelerating:

我希望它调用一个或另一个......我可以用 scrollViewDidEndDecelerating: 和 scrollView 对象来停止这个双重方法调用吗?

0 投票
1 回答
179 浏览

iphone - 如何计算减速结束后滚动视图将停止的 contentOffset?

我需要在滚动视图停止减速的确切位置执行一些特殊操作,但我需要在它完成减速之前知道该位置。

有没有办法做到这一点,或者我必须实现自己的减速逻辑?

0 投票
1 回答
274 浏览

memory-management - 带有委托和数据源的协议声明 UIPageController 与 ScrollView 在同一页面中有多个视图

我正在遵循这些代码

1) http://code.davidjanes.com/blog/2009/09/26/uipagecontrol-uiscrollview/#comment-955

2) https://developer.apple.com/library/archive/samplecode/PageControl/Introduction/Intro.html

现在,我希望在我的应用程序中按照这些示例以自定义方式实现:(MyOwn 的 CustomController)

我想在 Scrollview 的每个视图中都有几个小视图,就像立方体/ Sudoko ...,而不是 ImageView 并为每个小视图提供事件。我认为在 ScrollView 的每个页面中将有大约 20 个视图。我如何通过创建自己的协议、定义数据源和委托方法来实现这些东西。

结构将是这样的:

在此处输入图像描述

在 Scrollview 的每个页面中都会有这样的屏幕。如何通过制作名为 Tile 的新类来处理这个问题,它本身就是一个视图。

虽然我肯定会用我自己的方式来做这件事,但这就像从头开始的方法,& 被称为非常糟糕的编程。但我想以更聪明的方式做到这一点,这样我就可以在其他类中使用相同的东西,这会减少我的编码并给我的客户留下好印象;)

此外,我知道我必须处理内存管理!