- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
在 iOS 8 中,当将 .PDF 渲染到 UIWebview
时,显示的 PDF 周围有黑色边框和背景(不是整个背景 View )。请注意,这不是设置为的 UIWebview 背景:
myWebView.opaque = NO;
myWebView.backgroundColor = [UIColor clearColor];
这在 < iOS8 中不存在,(.PDF 周围没有黑色边框彩色背景)
有没有其他人有此经历,谁能对此有所了解?
我像这样将我的 PDF 加载到 Web View 中..
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
if (self.pdfData != nil && self.viewHasUnloaded == YES) {
self.viewHasUnloaded = NO;
[self.webView loadData:self.pdfData MIMEType:@"application/pdf" textEncodingName:@"utf-8" baseURL:nil];
}
}
最佳答案
经过一番调查后,我设法了解了问题出在哪里。所以 UIWebView
是一个 UIView
,带有一个 UIScrollView
(带有私有(private)类 _UIWebViewScrollView
)作为 subview 。将 PDF 加载到 UIWebView
的流程如下:
1) UIWebView
开始加载请求。此时 -webViewDidStartLoad:
委托(delegate)方法被调用。
2) PDF 加载(下载)后,委托(delegate)方法 -webViewDidFinishLoad:
被调用。那时 UIWebView
知道这是一个 PDF 文件,并且带有私有(private)类 UIWebPDFView
的 subview 已经插入到 _UIWebViewScrollView
中,但是 PDF本身还没有渲染。
问题来了。
3) PDF 在屏幕外呈现,准备就绪后,带有私有(private)类 UIPDFPageView
的新 subview 被插入到 UIWebPDFView
中并显示 PDF。问题是当发生这种插入时 UIWebPDFView
将其 backgroundColor
设置为黑色并且这种插入发生在 -webViewDidFinishLoad:
被调用之后(时间取决于要渲染的 PDF 有多大)。这就是为什么遍历 UIWebView
的所有 subview 并将它们的 backgroundColor
属性设置为白色不是一个好的解决方案,例如。
好消息是 UIViewController
的方法 -viewDidLayoutSubviews
在 UIPDFPageView
插入到 UIWebView
时被调用的 View 层次结构。所以,最后的解决方案是将这个 Objective-C 代码放入我们的 View Controller 中:
-(void)viewDidLayoutSubviews {
[super viewDidLayoutSubviews];
// Assuming self.webView is our UIWebView
// We go though all sub views of the UIWebView and set their backgroundColor to white
UIView *v = self.webView;
while (v) {
v.backgroundColor = [UIColor whiteColor];
v = [v.subviews firstObject];
}
}
在 Swift 中:
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
var v:UIView? = self.webView
while (v != nil) {
v!.backgroundColor = UIColor.whiteColor()
v = v!.subviews.first
}
}
关于ios - 在 UIWebView iOS 8 中呈现 PDF,导致 PDF 周围出现黑色边框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25813551/
我目前有一堆看起来像这样的行: txt = "Can't print the value for "+arguments[1]+" before it's set"; 我在做 $('#mydiv').
我有一个网站,我试图以移动格式显示,但在宽屏幕上显示。我确信 iframe 是要走的路。 我正在尝试将 iframe 加载到 iPhone 的图像中。你可以看到一个例子 here . 一旦你看到它,你
我正在尝试使用 Xcode 中的 Storyboard创建如下所示的 View 。 为此,我添加了一个按钮和一个带有约束的标签,但这就是我得到的结果。文本不会从复选框下方开始。实现此目的的一种方法是创
我正在与 css 斗争以将文本包装在 div 中。我应用了空格、分词但没有任何反应。 链接 http://fiduciaryconsulting.org/index.php/services/90-s
关闭。这个问题需要debugging details .它目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and th
正如标题所说 - 如何将文本环绕在伪元素周围?请参见下面的示例: .area { position: relative; } .area:before { content: '';
每次我尝试在 CSS 中做一些看似简单的事情时,它都行不通。 我有一个包含 460x160 图像的内容 div。我想做的就是将图片放在右下角,然后用文字环绕它。 text text
每次我尝试在 CSS 中做一些看似简单的事情时,它都行不通。 我有一个包含 460x160 图像的内容 div。我想做的就是将图片放在右下角,然后用文字环绕它。 text text
我有一个流式布局,它已经为我工作了一段时间。我漂浮 不是右就是左。一个 div 通常会有一个图像和一个标题。 文本项正确地环绕在 float 周围。但是某些元素没有: 将做以下两件事之一:他们要么侵入
这是我的问题。我在另一个 div 中有内联 block div。 .timeEvents { width: 100%; overflow: hidden; text-align: cent
使用float,我可以让文本环绕figure标签中的图像,而不是环绕figcaption标签,因为出色地。将 float 添加到 figcaption 不会这样做。有什么建议吗? 下面的代码在这里:h
如何让 div 2 环绕 div 1 ? (两个 div 都包含文本) +---++------------------+ | || | | 1 ||
我有一个场景,我需要转换一个可以被 *this 链接的函数返回 std::optional>而不是 T& (原因超出了这个问题的范围)。我使用 std::reference_wrapper 的原因是因
我想我彻底搜索了这个网站,但找不到我的问题的答案;我也认为这很简单,但是经过几个小时的困惑之后,我已经放弃并决定寻求帮助...... 这是我的问题;我有一个 DIV,里面有两个 DIV;第一个 DIV
我有一个文本区域字段,其右上角有一个 div 框。我进行了广泛的搜索,但找不到一种方法可以让输入文本区域的文本环绕 div。 #wrapper { position: relative; wi
所以我在使用 FancyBox 时遇到了这个问题,当滚动页面主体(主页)时,框会随机向左和顶部移动位置。 附上 GIF 演示问题: 据我所知,我正在使用 Fancybox v2。 网址是here (在
我的 coinslider 周围有一个容器 div。我想围绕这个容器 div 包装文本。如何实现这一目标? 现在我的 HTML 设置如下: 我的 CSS 是这样设置的: #mycontain
每次我尝试在 CSS 中做一些看似简单的事情时,它都行不通。 我有一个包含 460x160 图像的内容 div。我想做的就是将图片放在右下角,然后用文字环绕它。 text text
我有一个名为“content”的 DIV,其中我有一个图像作为边框/框架,我想绕过它。我都有一个大的整个框架(左、右、上、下),它与它应该的宽度相匹配,而且我把它切碎了,所以我有四个单边框图像(lef
我正在使用 fieldset 在 div 周围创建带标题的边框。 这是代码: Sproc Details:
我是一名优秀的程序员,十分优秀!