c# - 在 iOS 7 中退出 UIDocumentInteractionController 的 PDF 时出现黑屏
<p><p>我正在将 Xamarin monotouch c# 用于显示 PDF 文档的 iphone 应用程序。 </p>
<p>我的问题是升级到 iOS 7 后在 UIDocumentInteractionController 中退出 PDF 时出现黑屏。</p>
<p>在源构造函数中,我创建了一个新的 DocController:</p>
<pre><code>this.DocumentPreview = new UIDocumentInteractionController();
this.DocumentPreview.Delegate = new DocumentInteractionDelegate(this.DidEndPreview);
</code></pre>
<p>当我选择一行时,我会得到 PDF 并显示它(工作):</p>
<pre><code>public override void RowSelected(UITableView tableView, NSIndexPath indexPath)
{
// Get PDF url from indexpath
...
// Set url
this.DocumentPreview.Url = url;
this.DocumentPreview.PresentPreview(true);
// Here i get a warning : Presenting view controllers on detached view controllers is discouraged
}
</code></pre>
<p>这是我的 DocControllerDelegate 类,在我的工作区中显示预览:</p>
<pre><code>public class DocumentInteractionDelegate : UIDocumentInteractionControllerDelegate
{
private Action DidEnd;
public DocumentInteractionDelegate(Action didEnd)
{
this.DidEnd = didEnd;
}
public override UIViewController ViewControllerForPreview(UIDocumentInteractionController controller)
{
return AppDelegate.Instance.Workspace;
}
public override void DidEndPreview(UIDocumentInteractionController controller)
{
this.DidEnd.Execute();
}
}
</code></pre>
<p>DidEndAction 并不重要,因为当 Action 触发时黑屏已经存在。</p>
<p>是的,我已经设置了一个根 Controller :</p>
<pre><code>this.MainWindow.RootViewController = this.MainViewController;
</code></pre>
<p>我不知道 iOS6 中是否存在警告,但我可以很好地从我的 PDF 中返回并在我的表格中选择另一个要显示的内容,现在在 iOS7 中,单击 <em>完成时出现黑屏</em> 在 PDF 中。</p>
<p>如何在没有黑屏的情况下返回我的 Controller ?iOS7 中的哪些变化影响了这种行为? </p>
<p>谢谢</p>
<p><strong>编辑</strong></p>
<p>我已经设法摆脱了警告<strong>在工作区不鼓励在分离的 ViewController 上显示 ViewController </strong>:</p>
<pre><code>this.MainViewController.AddChildViewController(this.Workspace);
</code></pre>
<p>但我在关闭 PDF 时仍会出现黑屏。</p></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>这就是我在 UIDocumentInteractionControllerDelegate 中调用的内容:</p>
<p>它将关闭该文档预览窗口并允许您返回到之前的 ViewController 。</p>
<pre><code>UIApplication.SharedApplication.Windows .RootViewController.DismissViewController (true,null);
</code></pre>
<p>尝试将您的文档交互 Controller 委托(delegate)代码修改为:</p>
<pre><code>public override UIViewController ViewControllerForPreview (UIDocumentInteractionController controller)
{
return UIApplication.SharedApplication.Windows.RootViewController;
}
</code></pre></p>
<p style="font-size: 20px;">关于c# - 在 iOS 7 中退出 UIDocumentInteractionController 的 PDF 时出现黑屏,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/19146955/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/19146955/
</a>
</p>
页:
[1]