【发布时间】:2011-11-21 03:26:30
【问题描述】:
我记得 WWDC 2011 的一个处理滚动视图的视频有一个演示,演示者 (Eliza) 演示了如何沿着滚动视图无限滚动。该演示使用了一堆预先生成的房屋和月亮。
这是幻灯片的链接,但我没有看到房屋演示或相关代码。 http://adcdownload.apple.com//wwdc_2011/adc_on_itunes__wwdc11_sessions__pdf/104_advanced_scroll_view_techniques.pdf
这是他们可用的代码,但这不是房屋和月亮的演示: http://developer.apple.com/library/ios/samplecode/StreetScroller/Introduction/Intro.html
那个演示让我感兴趣的是 Eliza 如何能够通过长按来拾取月亮并将其定位在 UIScrollView 上的任何位置。我想在我的应用中添加类似的技术。
我查看了高级滚动视图技术的源代码,但没有那个示例。
谁能帮我找出如何拿起 UIControl 并使用长按将其拖放到托管视图中的任何位置?
更新:
我找到了这段代码:
[button addTarget:self action:@selector(draggedOut:withEvent: ) forControlEvents: UIControlEventTouchDragOutside | UIControlEventTouchDragInside];
- (void) draggedOut: (UIControl *) c withEvent: (UIEvent *) ev {
c.center = [[[ev allTouches] anyObject] locationInView:self.markerView];
}
这会拾取并定位按钮,但是,按钮也会因触摸而被激活。拖动事件几乎立即开始,而我希望至少有一秒钟的延迟和缩放效果以指示按钮已被选中。
感谢任何帮助!
【问题讨论】:
标签: objective-c drag-and-drop ios5 uigesturerecognizer iphone-4