SWRevealViewController скрывает контроллер заднего вида

Я разрабатываю выдвижное меню, используя SWRevealViewController. У меня есть TableViewController со статическими ячейками, который будет моим контроллером заднего вида. Вид таблицы выглядит так:

введите здесь описание изображения

Я хочу, чтобы мое выдвижное меню было только таким, но вместо этого я получаю что-то вроде этого, поскольку SWRevealViewController вырезает часть моего контроллера заднего вида:

введите здесь описание изображения

Я хочу, чтобы в моем скользящем меню полностью отображался задний ViewController, показывающий кнопку открытия. Пожалуйста, дайте предложения или код, если это возможно. Заранее спасибо.


person G.Abhisek    schedule 06.01.2016    source источник


Ответы (3)


Если вам нужен заднийViewController полной ширины, вы можете сделать это:

  1. Перейдите к -(void)_initDefaultProperties в классе SWRevealViewController.m.

  2. Изменить _rearViewRevealWidth = 260.0f; на _rearViewRevealWidth = [UIScreen mainScreen].bounds.size.width;

Вы также можете изменить другие размеры тем же способом.

person Arpit Dongre    schedule 06.01.2016
comment
Но это полностью скроет мой контроллер переднего вида, и моя кнопка открытия не будет отображаться? Я хочу, чтобы ширина была такой же, не можем ли мы загрузить в нее весь контроллер представления? - person G.Abhisek; 06.01.2016
comment
@NataMio Я прошу, чтобы мое слайд-меню полностью отображало мой заднийViewController, по-прежнему показывающий кнопку открытия. - person G.Abhisek; 06.01.2016
comment
Боковая панель обычно используется для отображения ViewController только частично, вы должны спроектировать свой ViewController таким образом, чтобы он отображал все параметры в этом частичном представлении. - person Arpit Dongre; 06.01.2016
comment
Так что нет возможности сделать так, как я хочу. - person G.Abhisek; 06.01.2016
comment
Вы можете сделать это, чтобы настроить вид сбоку, _rearViewRevealWidth = [UIScreen mainScreen].bounds.size.width*0.9; . Измените значение 0,9, чтобы настроить экран. - person Arpit Dongre; 06.01.2016
comment
@ G.Abhisek На самом деле есть способ, если вы можете указать ту же кнопку меню на боковой панели. - person Arpit Dongre; 06.01.2016
comment
Давайте продолжим обсуждение в чате. - person G.Abhisek; 06.01.2016
comment
@Arpit Dongre, но как заставить SWReveal изменить свой путь от продвижения представления, которое призвало его, чтобы покрыть обложку, как приложение Gmail - person Mohammad Eliass Alhusain; 16.01.2017

Вот почему, потому что он имеет 260 в качестве статического значения ширины, и чтобы изменить его, вам нужно открыть SWrevealviewcontroller.m файл, прокрутить до строки 647 и изменить ширину _rearViewControllerWidth, например, с 260 до 360!

Удачи !

person AaoIi    schedule 06.01.2016

В SWRevealViewController есть одно свойство с именем rightViewRevealWidth. Вы можете изменить его значение.

в вашем первом viewController добавьте строку ниже в viewDidLoad()

self.revealViewController().rightViewRevealWidth = self.view.bounds.size.width - 80.0;
person Hitendra Solanki    schedule 06.01.2016
comment
Извините, после реализации этого кода мой экран становится черным после экрана запуска - person G.Abhisek; 06.01.2016