将“在 iBooks 中打开”添加到 UIWebView

2024-02-22

我正在为一个网站开发一个包装应用程序。基本上,它在 UIWebView 中打开网站的移动版本。网站上的一些链接指向 PDF。

当在 Safari 中打开同一网站并点击 PDF 链接时,PDF 上会显示一条漂亮的黑色条纹,上面写着“在 iBooks 中打开”。就像下面的图片一样:

如何在我的应用程序中实现相同外观的条纹?

EDIT:

I am not询问如何在半透明背景上创建黑色按钮。

我有兴趣重现整个工作流程:

  • 用户导航至 PDF
  • 条纹(视图)弹出窗口当且仅当安装了 iBooks 应用程序(或任何其他 PDF 查看器)。
  • 点击弹出窗口中的按钮会将文档传输到该应用程序,然后该应用程序将打开。

要检查 iBooks 是否已安装,您可以调用:

BOOL iBooksInstalled = [[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"ibooks://"]];

您可以使用以下方式呈现应用程序列表(为什么仅限于 iBooks?;)):

//use the UIDocInteractionController API to get list of devices that support the file type
NSURL *pdfURL = // your pdf link.
UIDocumentInteractionController *docController = [UIDocumentInteractionController interactionControllerWithURL:pdfURL];

//present a drop down list of the apps that support the file type, click an item in the list will open that app while passing in the file.
 [docController presentOpenInMenuFromRect:CGRectZero inView:self.view animated:YES];

请注意,除非您制作了一个可以读取 PDF 的应用程序,否则这在 iOS 模拟器上不起作用!

如果您确实只想提供让 PDF 在 iBooks 中打开的选项,您可能需要尝试将文件的 URL 附加到 @"ibooks://" 方案或 iBooks 提供的其他两个方案之一(适用于 iBook Store 中的书籍,但我不确定它是否也适用于其他 URL,即 @"itms-books://" 和 @"itms-bookss://"。然后你可以做类似的事情:

NSURL *iBooksURLScheme = [NSURL URLWithString:@"ibooks://"];
NSString *fileURLString = // your file URL as *string*
NSURL *finalURL = [iBooksURLScheme URLByAppendingPathComponent:fileURLString];

[[UIApplication sharedApplication] openURL:finalURL];
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将“在 iBooks 中打开”添加到 UIWebView 的相关文章

  • 使用 UItableviewCell 实现 Google 地图

    我正在尝试在 UItableviewCell 组件内实现谷歌地图 我这样做的方法是在原型单元中定义 GMSMapView 然后使用 dequeueReusableCell 方法配置地图单元 但是 我尝试应用的任何更改都会失败 例如添加标记
  • NSCFData isRessized 崩溃?

    我目前在控制台中收到此崩溃日志 2011 08 23 19 18 40 064 App 1697 707 NSCFData isResizable unrecognized selector sent to instance 0x11f1c
  • UITableView:显示 tableFooterView 时运行代码?

    我正在使用 UIView表页脚视图 http developer apple com library ios documentation uikit reference UITableView Class Reference Referen
  • 如何正确创建迦太基 cartfile?

    我正在研究购物车文件 迫不及待地想 简单地创建一个购物车文件 就像所有说明所说的那样 只是 如何 简单地 创建一个 Cartfile 我创建了一个纯文本文档 将其命名为 cartfile 并在其中复制了一些依赖项 Ran carthage
  • 如何在 Swift 中将文件名与文件扩展名分开?

    给定包中文件的名称 我想将该文件加载到我的 Swift 应用程序中 所以我需要使用这个方法 let soundURL NSBundle mainBundle URLForResource fname withExtension ext 无论
  • Cordova 2.4.0 或 2.5.0 或 2.6.0 和 requirejs

    Cordova 2 4 0 及更高版本支持 AMD 加载到 javascript 中 我特别希望将 Cordova 2 5 0 与最新版本的 RequireJS backbone jquery jquery mobile 一起使用 我还没有
  • .showsPhysics 内存泄漏

    我最近花了 5 个小时尝试调试 Spritekit 应用程序中的内存泄漏 应用程序启动后 我注意到内存使用量略有上升 我花了 5 个小时中的 3 个小时挖掘参考资料 了解强与弱的关系ARC https developer apple com
  • 将自定义数据包含到 iOS 故障转储中

    你好 堆栈溢出 有一个简单的问题要问您 当我的应用程序在用户的设备上崩溃时 是否可以将自定义错误数据嵌入到自动生成的 iOS 故障转储中 例如 我的 SQlite 数据库由于某种原因无法运行 例如 数据库文件已损坏 我无法从这个错误中恢复
  • 如何制作带有 SWIFT 图像的弹出窗口

    我想知道如何制作类似于此示例的弹出窗口 原始窗口充满了按钮 选择这些按钮后将拉出我想要使用的图像 我会简单地创建一个可重用的UIView组件以及作为子视图所需的一切 例如UIImageView为了你的形象 UILabel or a UIBu
  • iOS 中 NSDecimalNumber 的小数分隔符错误

    我尝试通过以下方式输出具有正确的小数分隔符的十进制数的描述 NSString strValue 9 94300 NSDecimalNumber decimalNumber NSDecimalNumber decimalNumberWithS
  • (Kiss)XML xpath 和默认命名空间

    我正在开发一个 iPhone 项目 需要解析一些 xml xml 可能包含也可能不包含默认名称空间 我需要知道如何解析 xml 以防它使用默认命名空间 由于我需要读取和写入 xml 因此我倾向于使用 KissXML 但我愿意接受建议 这是我
  • ios swift parse:从 3 个类收集数据

    我有这样的结构 User CardSet 带有指向 User objectId 的指针 user 和 col name 带有点 cards 的卡片到 Card Set objectId 和列 name 我想选择所有卡数据 包括当前用户的卡集
  • iOS:生成pdf时绘制文本时如何设置字体?

    我在ios应用程序中使用drawpdf函数生成pdf 同时调用nsobject类中的drawtext函数 它根据我指定的框架和字符串清楚地绘制文本 我的代码是 void drawText NSString textToDraw inFram
  • 如何让UITextView背景线与文字对齐?

    我正在尝试绘制 UITextView 的背景线 这是我用来画这些线的代码 CGContextBeginPath context CGContextSetStrokeColorWithColor context self horizontal
  • 在 iPhone 3GS 与 iPhone 4 上为 Mobile Safari 嵌入 HTML5 视频

    我在服务器上的 mp4 文件中有 H 264 AAC 编码的视频 mime 类型的视频 mp4 添加到 Web 服务器 IIS 7 并且我有一个带有视频标签的页面
  • UIViewControllerAnimatedTransitioning:旋转更改后黑屏片段

    我已经创建了一个视图控制器转换 只要我不更改设备方向 一切都正常 图 1 显示了应有的屏幕 然后我切换到下一个视图控制器 在其中更改方向 现在我回到第一个视图控制器并再次切换方向 然后我得到的结果如图 2 所示 出现黑色边框 请不要介意屏幕
  • 贴纸包会在模拟器上使 iMessage 崩溃,但在 iPhone 上不会崩溃

    按照 Apple 的在线说明和视频在 Xcode 中创建了一个贴纸包 所有图像的尺寸均正确且远低于文件大小阈值 如果我在我的实体 iPhone 上构建并运行贴纸包 一切都会完美运行 如果我在模拟器上构建并运行贴纸包 对于任何模拟的 iPho
  • TableViewController 的 viewDidLoad 未触发

    我一直在关注这个tutorial http www appcoda com ios programming sidebar navigation menu 有一个滑出式菜单 我添加了一个 TableViewController 它将显示文章
  • 在实例化对象之前是否可以检查故事板中是否存在标识符?

    在我的代码中我有这一行 但我想知道是否有办法检查是否 一些控制器 在我将它与 一起使用之前就存在实例化ViewControllerWithIdentifier 方法 如果标识符不存在 则应用程序崩溃 如果没有好的方法 这并不是一个大问题 我
  • 使用 MapKit 的地形和卫星视图

    我是 Mapkit View 的新手 当我给出没有目的地的纬度和经度时 我想显示 MapKit中是否可以通过地形 卫星视图来显示地图 有教程链接吗 我看过一些访问 Google 地图 API html 文件 的示例 有必要吗 或者您可以通过

随机推荐

  • 如何设置包装给定函数的函数的类型

    我正在做一个简单的memoize函数 它的作用是接受一个函数 并在缓存返回结果的地方做一些魔法 但基本上返回函数的类型memoize与给定的完全相同 但我遇到了错误 我不知道如何修复 当使用该函数并忽略我遇到的错误时 这些类型可以工作 我已
  • 用户代理字符串可以有多大?

    如果您要将用户代理存储在数据库中 您会容纳多大的数据库 我找到了这个技术网文章 http technet microsoft com en us library bb496341 aspx建议将 UA 保持在 200 以下 HTTP 规范中
  • PHP base64_decode C# 等效项

    我正在尝试模仿执行以下操作的 php 脚本 用 号替换 GET 变量的每个空格 var preg replace s GET var 解码为 Base64 base64 decode var 首先我添加了一个执行 Base64 解码的方法
  • 无符号整数取负值[重复]

    这个问题在这里已经有答案了 有人可以解释为什么 unsigned int 取负值吗 一个unsigned int应该只取正值 From 维基百科 http en wikipedia org wiki Integer 28computer s
  • 更改 nginx 工作进程运行的用户(Ubuntu 12.04)

    我在 Ubuntu 12 04 上手动安装了 nginx 当我跑的时候 configure我使用了以下选项 configure user www data group www data with http ssl module with h
  • 如何将此 csv 数据转换为条形图?

    旅游 旅游名称 开始 开始时的可用预订 结束 剩余预订量 csv 文件列 ID Tour Start End 12345 Italy 100 80 13579 China 50 30 24680 France 50 30 到目前为止我有这个
  • Ruby——寻找某种“Regexp unescape”方法

    我有一堆带有特殊转义代码的字符串 我想存储未转义的代码 例如 解释器显示 014 000 016smoothing 011mean 022color 011zero 016 但我希望它显示 检查时 为 014 000 016smoothin
  • 为了使用 Scrapy 正确发送电子邮件,我忘记了什么

    我想使用 Scrapy 发送电子邮件 我看了 throw 官网 发现可以这样做 from scrapy mail import MailSender from scrapy utils project import get project
  • 如何返回我在嵌套数组中查找的元素?

    我有一个这样的数据库 universe comics saga name x men characters character wolverine picture 618035022351 png character cyclops pic
  • Python 自由变量。为什么会失败?

    以下代码打印 123 gt gt gt a 123 gt gt gt def f print a gt gt gt f 123 gt gt gt 但以下失败 gt gt gt a 123 gt gt gt def f print a a 4
  • 比较内部消息传递的两种数据库设计

    以下哪种数据库设计更适合内部消息系统 三张表 MessageThread models Model subject timestamp creator Message models Model thread pk content times
  • 从右到左数据网格视图单元格

    如何将属性从右到左设置为 Datagridview 单元格 我尝试设置 Alignment 属性为 MiddleRight 但由于我的 DatagridviewCell 值为 阿拉伯语和英语没有按照我想要的从右到左显示 我找到了一个带有 C
  • 限制后获取另一个订单

    想象一下 我有一个表 用户 其中包含两个字段 年龄 和 姓名 我想检索前十名老用户 然后我希望这十个用户的列表按名称排序 可以用MySQL来做吗 我试过这个 不起作用 SELECT FROM users order by age name
  • 将元素与窗口底部对齐,但允许滚动到下方的内容

    我现在正在编写一个 jquery 滑块 并将宽度设置为 100 并且无论窗口如何调整大小 我都希望它与窗口底部对齐 我已经找到了让它在向下滚动时一直粘在底部的方法 但我不希望这样 我希望能够滚动到此滑块下方以获取更多内容 这个网站展示了我正
  • 如何让 CSS 文本装饰覆盖起作用?

    有些日子我发誓我要疯了 这是那些日子之一 我认为我的 CSS 在这里相当简单 但它似乎不起作用 我缺少什么 我的 CSS 看起来像这样 ul gt li text decoration none ul gt li u text decora
  • Cocoa:为什么我的表格视图是空白的?

    为什么我的表格视图是空白的 一切都很好 直到我添加 initWithStyle 它看起来是这样的 这是我的代码的样子 这是我的 h import
  • 带有 NestedScrollView 的 CoordinatorLayout 不会通过 adjustmentResize 调整大小

    我有一个view其中包含一个CoordinatorLayout其中包含一个AppBarLayout and a NestedScrollView 在 的里面NestedScrollView有一个EditText 我在显示软输入键盘并正确调整
  • 尝试使用 mod_wsgi 设置 Flask

    我正在尝试设置烧瓶mod wsgi但我不断收到以下错误 13 Permission denied access to denied filesystem path home ec2 user myapp because search per
  • 匹配 Unix 上文件中的日期

    我有以下内容unix命令 我用它来尝试查找格式中的日期yyyy mm dd在一个文件中 grep i w d 4 d 2 d 2
  • 将“在 iBooks 中打开”添加到 UIWebView

    我正在为一个网站开发一个包装应用程序 基本上 它在 UIWebView 中打开网站的移动版本 网站上的一些链接指向 PDF 当在 Safari 中打开同一网站并点击 PDF 链接时 PDF 上会显示一条漂亮的黑色条纹 上面写着 在 iBoo