以编程方式将视图添加到 UIWebView (iPhone/iPad) 的每个页面

Posted

技术标签:

【中文标题】以编程方式将视图添加到 UIWebView (iPhone/iPad) 的每个页面【英文标题】:Programmatically Add a View to each Page of a UIWebView (iPhone/iPad) 【发布时间】:2011-03-08 16:38:59 【问题描述】:

我正在尝试向 iPhone/iPad 上分页 UIWebView 的每个页面添加一个视图(特别是 UIImageView)。我的最终目标是打开 PDF 并在(可能是多页的)PDF 的每一页底部都有一个签名框。我按照 this 教程使用 UIImageView 作为签名框,并按照 this 教程在 UIWebView 中成功打开 PDF。

我的计划是以编程方式获取 UIWebView 的每个“页面”,并在每个页面的底部添加我的签名框(将视图堆叠在另一个之上)。是否可以获取 UIWebView 的每一页? cocoa 是否知道每一页在哪里,或者它是否进行了一些花哨的数学计算来知道在哪里放置换行符?

理想情况下,应该是这样的:

for(UIView *page in webView.pages)
      [self addSignatureBox:page];
 

【问题讨论】:

UIWebView 让显示 PDF 变得轻而易举,但我建议查看 CGPDFDocumentRef。这使您可以抓取一个页面并将其显示在视图中。 Cocoa是Mac开发框架;所有 UI* 类都特定于 Cocoa Touch。 是的,但它也可以在 iPhone 上使用。 ios 开发人员不仅限于 UI 类。我知道这一点是因为我使用了 CGPDFDocumentRef。 【参考方案1】:

您可以在 webview 中获取任何页面的 html 代码。查看以下链接。

Reading HTML content from a UIWebView

将网页的 HTML 代码存储在 NSString 中并修改它们以添加您的签名。

希望对你有帮助

【讨论】:

有没有办法从 HTML 代码插入可可对象(即 UIImageView)?我在想我会把 UIImageView 放在 UIWebView 的顶部(堆叠视图)。我是否应该考虑将 UIImgeView 的代码嵌入到实际的 HTML 中? 最好将imageView添加到webView之上。在 HTML 中嵌入图像会太忙。通过 imageView.frame = CGRectMake(x,y,width,height) 方法调整 imageView 的大小,并使用 [self.view addSubview:imageView] 添加。要获取页面,请按照链接中的说明获取 HTML 代码,并在需要时将它们加载回 webview。 我能否仅从 HTML 中判断分页符在哪里? 您必须在 NSString 中搜索分页符标签。有用于在字符串中搜索子字符串的内置方法。

以上是关于以编程方式将视图添加到 UIWebView (iPhone/iPad) 的每个页面的主要内容,如果未能解决你的问题,请参考以下文章

UIWebView 向下滚动

以编程方式在iOS上滚动UIWebView

以编程方式将 IP 添加到 Server 2008 防火墙规则

使用布局约束以编程方式将视图添加到滚动视图

以编程方式将视图添加到垂直堆栈视图打破了垂直堆栈视图的约束

以编程方式将按钮添加到集合视图单元格