setFrontViewController в SWRevealViewController не работает в UITableViewCell в Objective- C - PullRequest
0 голосов
/ 28 апреля 2020

I enter image description here

Пожалуйста, см. Изображение выше.
У меня есть 3 основных экрана: экран 1, экран 2 и экран 3.
Сейчас на экране 3 , У меня есть один подробный экран 3A, а на экране 3A у меня есть другой экран 3Aa.
На моем экране 3A я использую табличное представление, и в нем я использую собственную ячейку.
И мой экран 3Aa является простой контроллер вида.

Так что теперь представление контроллера вида не работает в 2 сценариях ios:
1) Когда я пытаюсь перейти от 3А к экрану 1.
Ниже мой код, который я написал в моем классе UITableViewCell:

/*UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
    MapGoogleViewController *vc = [storyboard instantiateViewControllerWithIdentifier:@"MapView"];
    [vc setIncident:_incident];
    [self.rvc pushFrontViewController:vc animated:YES];*/

    UIStoryboard *sb = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
    MapGoogleViewController *vc = [sb instantiateViewControllerWithIdentifier:@"MapView"];
    UIViewController *view = [[[UIApplication sharedApplication] keyWindow] rootViewController];
    [view dismissViewControllerAnimated:NO completion:^{
        SWRevealViewController *rvc = (SWRevealViewController *)view.presentingViewController;
        [rvc setFrontViewController:vc animated:NO];
        [rvc setFrontViewPosition:FrontViewPositionLeft animated:NO];
    }];  

2) При попытке перейти с экрана 3Aa на экран 1.
Я выполнил кодирование, но не смог проверить, потому что экран подробностей также не работает.

MapGoogleViewController *vc = [sb instantiateViewControllerWithIdentifier:@"MapView"];
    [vc setIncident:_incident];
    [self dismissViewControllerAnimated:NO completion:nil];
    SWRevealViewController *rvc = (SWRevealViewController *)self.presentingViewController;
    [rvc setFrontViewController:vc animated:NO];
    [rvc setFrontViewPosition:FrontViewPositionLeft animated:NO];  

Я не уверен, что это работает или нет, потому что я не могу также перейти на этот экран. Вот код, который я реализовал для перехода с экрана 3A на экран 3Aa.

- (IBAction)detailClicked:(id)sender {
    UIStoryboard *storyboard;
    UIViewController *viewController = [[[[UIApplication sharedApplication] delegate] window] rootViewController];
    IncidentDetailViewController *detail;
        storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
        detail = [storyboard instantiateViewControllerWithIdentifier:@"IncidentDetailView"];
    detail.incident = _incident;
    detail.modalPresentationStyle = UIModalPresentationFullScreen;
    [viewController presentViewController:detail animated:YES completion:nil];
}   

Я использую SWRevealViewController. Пожалуйста, помогите мне решить эту проблему.
Заранее спасибо.

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