在 uiwebview 中播放 YouTube 视频。如何处理“完成”按钮?

2023-12-27

我有一个 uiwebview 可以播放 youtube 视频。我如何处理完成按钮操作? 现在,当我点击“完成”按钮时,它会变回我的应用程序主菜单(而不是应该关闭的菜单),并且它会冻结。有人可以帮我吗?

ps:uiwebview所在的菜单,之前是模态呈现的。


YouTube 插件播放器本身就是一个模态视图控制器。它正在回归其本来面目presentingViewController当按下完成按钮时。它是presentingViewController不是你的模态视图控制器,而是调用的 viewController[presentModalViewController:animated:]展示你的模态视图控制器。由于原始模态视图控制器仍然处于活动状态,因此应用程序的行为很糟糕。

为了解决这个问题,

1) 跟踪模态视图控制器是否已呈现但尚未消失。

2)在viewDidAppear呈现视图控制器的方法,如果模式视图控制器已呈现且未关闭,则关闭并再次呈现它。

例如,在呈现模式 Web 视图控制器的控制器中:

 - (void) presentModalWebViewController:(BOOL) animated {
      // Create webViewController here.
      [self presentModalViewController:webViewController animated:animated];
      self.modalWebViewPresented = YES;
  }

  - (void) dismissModalWebViewController:(BOOL) animated {
      self.modalWebViewPresented = NO;
      [self dismissModalViewControllerAnimated:animated];
  }

  - (void) viewDidAppear:(BOOL)animated {
      [super viewDidAppear:animated];
      if (self.modalWebViewPresented) {
           // Note: iOS thinks the previous modal view controller is displayed.
           // It must be dismissed first before a new one can be displayed.  
           // No animation is needed as the YouTube plugin already provides some.
           [self dismissModalWebViewController:NO];
           [self presentModalWebViewController:NO];
      }
  }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 uiwebview 中播放 YouTube 视频。如何处理“完成”按钮? 的相关文章

  • 将永久字符添加到 UITextField

    有没有办法将字母永久添加到 UITextField 中 用户无法删除它 我想添加一个字符 用户无法删除它 但他们仍然可以在之后添加字母 Cheers 附注这是适用于 iOS 的 A UITextField有一个名为 应该更改范围内的字符 的
  • 打乱 NSMutableArray 而不重复并显示在 UIButton 中

    在我看来 我有 12 个按钮 一个数组包含 6 个名称 我想在其中打印数组名称UIButton标题 这是我的代码 texts NSMutableArray alloc initWithObjects 1 2 3 4 5 6 nil UIBu
  • 通过 WiFi 将视频从一部 Android 手机直播到另一部手机

    我已经在互联网上搜索了好几天关于如何通过 WiFi 连接实现从 Android 手机到另一部 Android 手机的视频流功能 但我似乎找不到任何有用的东西 我查看了 Android 开发人员的示例代码 stackoverflow goog
  • 使用 iPhone 中的地图视图读取当前位置名称

    我读取了当前位置的纬度和经度值 然后成功将该位置固定在 iPhone 中 现在我想使用这个纬度和经度值读取该地名 我使用以下代码来读取查找当前位置 void mapView MKMapView mapView1 didUpdateUserL
  • 在 WKWebView 中禁用放大手势

    我正在寻找一种方法来禁用 WKWebView 的 iOS 实现上的 捏合缩放 放大手势 OS X 有一个 magnification BOOL 属性 但在 iOS 上似乎不可用 WKWebView h if TARGET OS IPHONE
  • 是否可以使用 Firebase 安排推送通知? [复制]

    这个问题在这里已经有答案了 我已经阅读了我能找到的所有文档 但仍然不知道这是否可行 如果我是用户 我可以安排特定时间的推送通知吗 Example 1 我是用户并打开应用程序 2 我允许通知并转到 pickerView 或其他任何内容 并设置
  • 在 Xcode 5 中重命名 iOS 项目[重复]

    这个问题在这里已经有答案了 我需要重命名一个 iOS 项目 有没有办法在不开始一个全新项目的情况下做到这一点 我发现的所有其他信息都与 Xcode 4 或旧版本相关 这些方法似乎使项目崩溃 我在尝试任何名称更改之前创建了一个快照 在 Xco
  • 如何将 UILabel 的值绑定到实例变量?

    我是 mac objective c 的新手 我的问题是 我想知道是否可以将 UILabel 文本绑定到变量 而不必在值更改时手动设置文本 例如 在 Mac OS 上 当我打开新的 Finder 窗口并删除文件时 任务栏中的全局可用空间就会
  • 如何使用AudioKit保存音频文件?

    我有音频文件 我给它做了一些效果 let pitchshifter AKPitchShifter self audioPlayer pitchshifter shift 10 AudioKit output pitchshifter 如果我
  • 如何接收有关与我共享的记录中所做更改的 CloudKit 通知?

    我有两个 iCloud 帐户 A and B 在两个不同的设备上 来自其中之一 A 我将 ckrecord 分享给另一个人 B 像这样 let controller UICloudSharingController controller p
  • 在 XCode 中链接静态 ObjC 库的过程

    我正在尝试链接到静态库 但不断收到链接器错误 我发现了一些发布示例的网站 但我无法看到我做错了什么 首先 我创建一个链接到我的库的项目 添加 gt 现有文件找到我的 xcodeproj 文件选择 将项目复制到目标组文件夹 选择我的宿主项目作
  • Firebase 身份验证问题 - 通过电子邮件地址检查用户是否存在

    我在 Firebase 上创建了一个帐户 它有效 但现在我想阻止人们使用已存在的电子邮件地址创建帐户 这是代码 DatabaseManager shared userExists with email completion weak sel
  • 减少 CoreData 的调试输出?

    我正在开发一个使用 CoreData 的 iOS macOS 项目 它工作正常 但它会向控制台输出大量调试信息 这使得控制台无法使用 因为我的打印语句隐藏在所有与 CoreData 相关的内容中 我有一个非常简单的 CoreData 设置
  • 虚拟乐器 iPhone 应用程序中的 VoiceOver 辅助功能?

    我收到盲人用户的评论 称我的一些声音和音乐相关应用程序只能在关闭 VoiceOver 的情况下使用 在 iOS 设备上启用 VoiceOver 辅助功能后 是否可以启用音乐键盘或鼓垫触摸区域 以便在点击键盘键或虚拟鼓组 等 时可以立即播放音
  • ios水平居中约束问题?

    I am having hard time in learning constraints auto layout in iOS I have used any width any height I have a storyboard sc
  • 在 iOS 中,如何创建一个始终位于所有其他视图控制器之上的按钮?

    无论是否呈现模态或用户执行任何类型的转场 有没有办法让按钮在整个应用程序中 始终位于顶部 而不是屏幕顶部 有什么方法可以让这个按钮可拖动并可捕捉到屏幕上吗 我正在以苹果自己的辅助触摸作为此类按钮的示例 您可以通过创建自己的子类来做到这一点U
  • insertNewObjectForEntityForName:

    我使用 Xcode xcdatamodel 文件编辑器设置了一个实体 我创建了一个名为 Person 的实体 添加了一些属性 然后生成了一个 m 文件来表示它 一切都很好 现在 当我去编写一行代码时 例如 Person person Per
  • 如何将 ios7 通用应用程序升级到基于 Xcode 6 的通用故事板应用程序?

    我目前有一个基于 xcode 5 ios 7 的通用应用程序 因此有两个故事板 我正在考虑将其更新到 ios 8 有没有办法 最佳方法将两个故事板迁移到通用的单个故事板 我在 xcode 6 中看不到转换选项 None
  • 在 UIScrollview 上显示缩略图的最佳方法是什么(从服务器下载)

    我想在 UIScrollview 如照片应用程序 上显示许多图像 作为缩略图 所有图像将从服务器下载 据我所知 有几种选择 1 通过创建 UIImageviews 然后将它们添加为主滚动视图上的子视图 2 通过子类化一个UIView类 然后
  • iOS - UITableViewCell 使文本加粗

    我有一个字符串 NSString userInfo James Johnson james 我想做的就是大胆James Johnson并保留 james正常字体 所以我尝试过的是使用NSAttributedString但为了完成这个过程 我

随机推荐

  • 如何使用参数化参与者在akka中创建路由器?

    我正在尝试在 Scala 中使用广播路由器 如果我没有记错的话 它应该如下所示 val system ActorSystem My beautiful system val workerRouter system actorOf Props
  • ASP.NET MVC 遇到问题?沮丧的

    我对 ASP NET MVC html 帮助程序 如 TextBoxFor HiddenFor 等 有问题 如果我有一个模型 如带有字符串成员 Name 的 Employee 并执行 Html TextBoxFor p gt p Name
  • Qt5.3 中 OpenGL 渲染之上的 QML UI

    我正在尝试在 Qt5 3 上的 openGL 渲染之上渲染 QML UI 到目前为止 QML 小部件具有黑色背景 而我希望有一个透明背景 我将代码展开在一个文件中 以便更容易阅读和编译 include
  • 比较整数和整数还是字符串和字符串更有效

    我有一个用 C 编写的程序 其中有很多整数和字符串之间的比较 所以出于性能原因 我只想知道哪个更有效率 如果我们有 int a 5 string b 5 if a int Parse b OR if a ToString b 我实际上使用一
  • ServiceStack 的路由路径

    我正在使用 AngularJS 我想在 ServiceStack serving static html 上执行以下路由 请注意拦截任意路径在屏幕截图上 另请注意 我没有将 ServiceStack 用于 REST 而是将其用作纯 Web
  • 在 C++ 中显示字符串向量

    如果这是一个重复的问题 我很抱歉 但我已经尝试寻找答案但空手而归 所以基本上我只想将字符串 单个单词 添加到向量的后面 然后将存储的字符串显示为单个字符串 我真是个菜鸟 include
  • 在 Mahapps.Metro 中设置 WindowButtonCommands 样式

    我想更改 WPF 应用程序的 最小 最大 和 关闭 按钮的样式 我在用着Mahapps Metro https github com MahApps MahApps Metro我已经成功地实现了我想要的结果 但只有过时的WindowMinB
  • 使用接口将数据从片段/活动传递到片段/活动的命名技术

    在学校 我们现在正在学习如何通过使用接口使片段更加通用 这项技术仍然有点抽象 我真的不知道何时 如何使用它 任何人都可以向我指出一些有关如何使用该技术的资源 可以称为接口回调吗 非常感谢所有帮助 The 回调方法 正如你所说的 就像List
  • 如何按索引从可变参数模板参数包中提取值?

    我想写一个函数magic get 它可以通过索引从参数包中提取值 例如 int n 0 n magic get lt 0 gt 1 3 5 7 assert 1 n n magic get lt 1 gt 1 3 5 7 assert 3
  • Fusebox 在代码中调用保险丝

    有谁知道是否可以在冷融合模板中调用融合动作 您尚未指定哪个 Fusebox 版本 此答案适用于 Fusebox 5 x 你的标题和问题是在问两个不同的事情 保险丝和保险丝是两个不同的东西 熔断器只是一个 CFML 模板 而熔断器动作代表执行
  • cout 是否保证具有 ctype 方面?

    Given auto foo ABCDEFGHIJKLMNOPQRSTUVWXYZ s我可以通过以下方式将所有字符转换为小写 use facet
  • Powershell - 如何保持跨会话加载导入的模块

    我有一堆使用通用 Powershell 库的不同脚本 自定义 PS 函数和 C 类的混合 这些脚本会定期自动执行 当加载每个脚本时 它会使用相当多的 CPU 来导入自定义模块 当所有脚本同时启动时 服务器的 CPU 运行速度为 100 有没
  • Angular Js - 在标头默认设置令牌

    我试图将带有我的访问令牌的标头添加到每个 API 调用中 它适用于所有 GET 请求 但当我尝试发出 POST 时 不会添加标头 这是我添加令牌的方法 app factory api function http cookies return
  • Tomcat 8 使用 Redis 进行会话复制

    Tomcat 8上可以用redis实现会话复制吗 我无法找到 tomcat 8 的 redis 会话管理器 jar 有一个现成的解决方案提供Redisson https redisson org框架 基于 Redis 的内存数据网格 使用方
  • Mongodb 有内存模式吗? [复制]

    这个问题在这里已经有答案了 可能的重复 运行集成测试时嵌入 MongoDB https stackoverflow com questions 6437226 embedded mongodb when running integratio
  • autocrlf 和 eol 有什么区别

    我正在阅读git 文档 https git scm com docs gitattributes about gitattributes解决我的混合行结尾问题并发现有两个类似的设置 自动回车 行尾转换 虽然 Git 通常保留文件内容 它可以
  • 在哪里可以找到 kafka 的 Maven 存储库?

    我想尝试 kafka 0 8 据我所知它已经发布了 但是我在哪里可以找到kafka maven存储库 我应该添加什么额外的存储库 URL 我发现了一些博客
  • 如何在执行 ./configure 时设置 ccshared=-fPIC?

    我正在尝试构建 Python 2 6QGIS http en wikipedia org wiki Quantum GIS on RHEL http en wikipedia org wiki Red Hat Enterprise Linu
  • 在Java中:在目录中创建唯一的随机文件名

    如何在 我选择的 目录中创建随机唯一文件名 Note 我不希望此文件位于系统临时路径中 而是位于我指定的目录中 File createTempFile https docs oracle com javase 6 docs api java
  • 在 uiwebview 中播放 YouTube 视频。如何处理“完成”按钮?

    我有一个 uiwebview 可以播放 youtube 视频 我如何处理完成按钮操作 现在 当我点击 完成 按钮时 它会变回我的应用程序主菜单 而不是应该关闭的菜单 并且它会冻结 有人可以帮我吗 ps uiwebview所在的菜单 之前是模