gpt4 book ai didi

ios - 在嵌入式 YT IFrame 上禁用 iOS 弹性滚动

转载 作者:行者123 更新时间:2023-12-03 05:43:14 26 4
gpt4 key购买 nike

我正在 Adob​​e AIR 中制作面向 iOS 4.0+ 和 Android 2.3+ 的应用程序。我尝试为嵌入的 YT 视频禁用 iOS 弹性滚动:当用户按下播放器的 IFrame 时,整个视频都会平移,我似乎找不到解决方法。

我尝试添加事件监听器来防止这种行为,但它不起作用。

顺便说一句,我知道我无法真正控制 IFrame 中发生的事情。一个快速而肮脏的解决方案是将元素直接放在框架上,比如一个透明的 Canvas 或一个可以捕获事件的 div。一点也不理想,因为用户将无法按下播放器上的按钮。

有什么想法或建议吗?

谢谢!

最佳答案

我找到了解决方案。

您需要访问 UIWebView(StageWebView 下的底层 iOS 实现)来禁用弹性滚动。

完成 Adob​​e Native Extension (ANE) 设置后,它就相对简单了。 (在这里可以找到一个很棒的 ANE 向导/生成器 https://github.com/freshplanet/ANE-Wizard)

对于 iOS 5,它很简单:webView.scrollView.bounces = NO;

如果你想支持 iOS 4,它会变得有点复杂。你没有webView.scrollView的方便,所以需要手动找到这个 View 。

一个同时处理 iOS 4 和 5 的 Objective-C 代码块是这样的:

NSString *currSysVer = [[UIDevice currentDevice] systemVersion];
if ([currSysVer compare:@"5.0" options:NSNumericSearch] != NSOrderedAscending) {
// iOS 5 is straightforward
webView.scrollView.bounces = NO;
}
else {
// iOS 4 requires a bit more of work
UIScrollView *scrollView = nil;
for (UIView *subview in [webView subviews])
{
if ([subview isKindOfClass:[UIScrollView class]]) {
scrollView = (UIScrollView *)subview;
}
}
if (scrollView != nil) {
scrollView.bounces = NO;
}
}

希望这可以帮助!

关于ios - 在嵌入式 YT IFrame 上禁用 iOS 弹性滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11801482/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com