我的应用支持 iOS8+ 设备。我想从导航栏中隐藏右操作按钮。通过研究,我发现了以下几种解决方法:
1.创建 QLPreviewController 的子类并在 ViewDidAppear SetRightBarButtonItems 中归零。
public class PdfViewController : QLPreviewController
{
public override void ViewDidAppear (bool animated)
{
base.ViewDidAppear (animated);
NavigationItem.SetRightBarButtonItems (new UIKit.UIBarButtonItem[0], false);
}
}
在这种情况下,问题是 RightBarButtonItem 出现然后消失。同时,用户可以单击该 RightBarButtonItem 按钮。我不想要这种行为。
2.创建 UIViewController 并将 QLPreviewController 添加为子 ViewController。
void BtnShowPdf_Clicked(对象发送者,EventArgs e){
var dummyVC = new UIViewController ();
var pdfVC = new PdfViewController ();
dummyVC.AddChildViewController (pdfVC);
dummyVC.View.AddSubview (pdfVC.View);
dummyVC.NavigationItem.SetRightBarButtonItems (new UIBarButtonItem[0], false);
dummyVC.EdgesForExtendedLayout = UIRectEdge.None;
dummyVC.AutomaticallyAdjustsScrollViewInsets = false;
dummyVC.View.BackgroundColor = UIColor.Clear;
pdfVC.EdgesForExtendedLayout = UIRectEdge.None;
pdfVC.AutomaticallyAdjustsScrollViewInsets = false;
pdfVC.View.BackgroundColor = UIColor.Clear;
}
在这种情况下,如果我设置 QLPreviewController 它按预期工作。但是 NavigationBar 变得比默认的 ViewController 背景颜色更暗。
黑条: http ://screencast.com/t/bqVMv5qqGz
需要清晰的背景栏,例如: http ://screencast.com/t/MUwE2VnxJ7
我的问题是:
A)我想知道根据 Apple 指南隐藏右侧导航栏按钮的正确方法是什么?如果您有正确的解决方案,那么这些也将受到赞赏。
B)您能否为#1 或#2 提出解决方案?