问题标签 [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.
iphone - 在动画图像视图时检测触摸的困难
我正在尝试使用以下代码为图像设置动画:
我有 UIScrollView,它有一个子视图 UIImageView,而 fimage 是 UIImageView。但是当我尝试检测它的触摸时,我无法做到这一点。谁能帮我?是否可以检测 UIScrollView 上的触摸。
主要应用程序是在平移中显示图像,当用户单击它时,包含该图像的网页应在下一个 Web 视图中加载。我怎样才能做到这一点?
iphone - 当我设置 UIWebView 的内置 UIScrollView 的委托时,我失去了捏缩放的能力,我该如何取回它?
我正在使用 UIWebView 来显示 PDF。我需要跟踪一些 UIScrollView 事件,所以我将内置的 UIScrollView 设置为:
但问题是,当我这样做时,我失去了捏缩放的能力(就像我以前一样,因为设置了 UIWebView 的 Scale Pages to Fit 属性)。怎么会这样?我能做些什么来修复它?我继续并实现了 UIScrollView shouldZoom 方法,但是当我将 scrollView 作为要放大的视图传回时,它从角落缩放,而不是我手指所在的位置。
有人知道这个问题的解决方案吗?我怎样才能设置 UIScrollView 委托,并且仍然保留自然缩放能力?
谢谢!
iphone - 如何获取从标准 UIViewController 中调用的 UIWebView 的 UIScrollView 委托方法?
所以我只有一个标准的 UIViewController,里面有一个 UIWebView,它显示一个 pdf。对于应用程序功能,我需要能够响应 UIWebView 的嵌套 UIScrollView 事件,例如 scrollViewWillBeginDragging、scrollViewDidScroll 等。
我可以访问 scrollView 的唯一方法是(这似乎是一个 hack)进入并通过 subviews 数组获取它:
但这似乎带来了比其价值更多的问题,因为我失去了像缩放这样的原生 UIScrollView 的东西。
所以总结一下我需要什么:
将我的 UIViewController 类设置为 UIWebView 内的 UIScrollView 代表的最佳方法是什么?我是否需要对我自己的 UIWebView 进行子类化,以便它以某种方式处理来自 UIWebView 中内置的事件,然后以某种方式将其传递给 UIViewController?无论如何,那个传递的东西是如何工作的?
请指教!
谢谢!
iphone - 如何以与手动缩放完全相同的方式以编程方式缩放 UIScrollView
我有 2 个并排的 UIScrollView,我正在研究的一项功能是能够捏合和缩放 1 个 UIScrollView,并让旁边的另一个以与我正在点击的完全相同的方式响应。特别感兴趣的是放大另一个 UIScrollView 正在放大的同一区域。只设置 zoomScale 是一回事,而准确地模拟缩放行为则是另一回事。
我怎样才能做到这一点?
uiscrollview - 滚动时如何将 UIScrollView 子视图“粘贴”到顶部/底部?
您可以在 Gilt 等 iPhone 应用程序中看到这一点。用户滚动一个视图,并且一个子视图显然“粘”到一个边缘,因为其余的 scrollView 在下面滑动。也就是说,scrollView 中有一个文本框(或其他任何内容),当 scrollView 到达视图顶部时,当视图的其余部分继续滑动时“粘”在那里。
所以,有几个问题。首先,可以通过“scrollViewDidScroll:”(在正常滚动期间)确定感兴趣的视图何时通过(或重新出现)。这里有相当多的粒度 - 委托调用之间的差异可能是一百点或更多。也就是说,当您看到视图接近 scrollView 顶部时,您会打开静态显示在 scrollView 顶部下方的视图的第二个副本。我没有对此进行编码,但它似乎缺乏真正的“棒”外观 - 视图将首先消失然后重新出现。
其次,如果执行 setContentOffset:animated,则不会获得委托消息(Gilt 不会这样做)。那么,在这种情况下如何获得回调呢?你在 "scroll.layer.presentationLayer.bounds" 上使用 KVO 吗?
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
它是一个表格视图,每个单元格上都有水平滚动。
谢谢。
objective-c - 为什么我向同一个方向快速滑动两次时,UIScrollView 会剧烈滚动?
在 UIScrollview 中水平滚动时,如果我在同一方向快速滑动两次,滚动视图会剧烈跳跃。有没有办法防止这种情况发生?为了详细解释,这是来自滚动视图的事件日志,在大多数委托方法中,我只打印 x 坐标。
日志中最值得注意的是在 scrollViewWillBeginDeceleration 之后,contentoffset.x 在几毫秒内以约 6000 点跳跃。
执行
uiscrollview 和 uiscrollviewdelegate 属于同一个类,是 uiscrollview 的子类,它也实现了 uiscrollviewdelegate 协议,对 contentoffset 没有什么特别的,在 scrollview 上设置的唯一属性是:
滚动视图子视图是通过在承载 uiscrollview 的 uiviewcontroller 中的 viewwillappear 调用添加一次(并且 contentSize 已适当设置)。滚动,等待一会儿,然后再次滚动完美。
iphone - UIScrollView 委托方法冲突
我正在使用以下两个 UIScrollView 委托方法来调用我的 UIViewController 中的另一个方法:
我尝试了各种不同的调用//做某事的方法,但要么最终都没有被调用,要么两个委托方法都被调用,在某些情况下调用 //do something 两次。例如:
因此,如果我滚动并让它减速停止,它会调用scrollViewDidEndDecelerating:,但如果我通过点击滚动并停止它,它会调用scrollViewDidEndDragging:和scrollViewDidEndDecelerating:
我希望它调用一个或另一个......我可以用 scrollViewDidEndDecelerating: 和 scrollView 对象来停止这个双重方法调用吗?
iphone - 如何计算减速结束后滚动视图将停止的 contentOffset?
我需要在滚动视图停止减速的确切位置执行一些特殊操作,但我需要在它完成减速之前知道该位置。
有没有办法做到这一点,或者我必须实现自己的减速逻辑?
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 的新类来处理这个问题,它本身就是一个视图。
虽然我肯定会用我自己的方式来做这件事,但这就像从头开始的方法,& 被称为非常糟糕的编程。但我想以更聪明的方式做到这一点,这样我就可以在其他类中使用相同的东西,这会减少我的编码并给我的客户留下好印象;)
此外,我知道我必须处理内存管理!