Как скрыть панель навигации во встроенном UIImagePickerController - PullRequest
0 голосов
/ 10 декабря 2018

Я пытаюсь представить UIImagePickerController как подпредставление в обычном UIViewController.

Проблема, с которой я сталкиваюсь, заключается в том, что я не могу скрыть внутреннюю панель навигации (с заголовком "Chwile" и "Anuluj").кнопка).Это выглядит примерно так:

iphone screenshot

Я попытался создать подкласс UIImagePickerController с моим пользовательским контроллером.Я также попытался стилизовать свойство NavigationBar и получил следующий результат:

enter image description here

Однако я хотел бы полностью удалить панель навигации.Я пытался вызвать SetNavigationBarHidden(true, true); и NavigationController.SetNavigationBarHidden(true, true); в ViewWillAppear, ViewDidLoad, а также ViewDidAppear из пользовательского контроллера выбора изображений, но безрезультатно.

Знаете ли вы, как удалить панель навигацииполностью?Решение в Swift или Obj-C также идеально подходит для меня.

    private void PresentImagePicker(UIImagePickerControllerSourceType type)
    {
        imagePicker = new CustomImagePickerController
        {
            SourceType = type,
            AllowsEditing = false,
        };

        imagePicker.FinishedPickingMedia += OnImagePickerFinishedPickingMedia;
        imagePicker.Canceled += OnImagePickerCancelled;

        AddChildViewController(imagePicker);

        ContentView.AddSubview(imagePicker.View);
        imagePicker.View.Frame = Content.Bounds;
        imagePicker.View.AutoresizingMask = UIViewAutoresizing.FlexibleWidth | UIViewAutoresizing.FlexibleHeight;

        imagePicker.DidMoveToParentViewController(this);
    }

1 Ответ

0 голосов
/ 10 декабря 2018

Вместо добавления подпредставления к родительскому представлению и управления кадрами, вы можете просто использовать presentViewController следующим образом:

self.present(imagePicker, animated: true, completion: nil)

Итак, вам нужно удалить следующие строки и заменить их всего одной строкой, как указано выше:

        AddChildViewController(imagePicker);
        ContentView.AddSubview(imagePicker.View);
        imagePicker.View.Frame = Content.Bounds;
        imagePicker.View.AutoresizingMask = UIViewAutoresizing.FlexibleWidth | UIViewAutoresizing.FlexibleHeight;

        imagePicker.DidMoveToParentViewController(this);

и будет нормально работать

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...