Мое приложение поддерживает устройства iOS8 +. Я хочу скрыть правую кнопку «Действие» на панели навигации. Исследованием я нашел следующие несколько обходных путей:Действительный способ скрыть QLPreviewController RightBarButtonItem/RightBarButtonItems Xamarin iOS
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.
недействительным BtnShowPdf_Clicked (объект отправителя, EventArgs е) {
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 по умолчанию.
Dark Bar: http://screencast.com/t/bqVMv5qqGz
Необходим ясный фон бар как: http://screencast.com/t/MUwE2VnxJ7
Мои вопросы:
A) Я хотел бы знать, что правильный способ, чтобы скрыть право Навигационная панель в соответствии с рекомендациями Apple? Если у вас есть правильное решение , тогда они также оценены.
B) Также вы можете предложить решение (ы) для №1 или №2?