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

у меня естьUINavigationController (NC), содержащийUITableViewController (TVC0). Когда пользователь нажимает на строку, он загружаетUIPageViewController (ПВХ), какие страницы назад и вперед между другимиUITableViewControllerс (TVC1).

TVC0 отображается внутри NC (то есть он не прячется за панелью навигации вверху или панелью вкладок внизу). Когда он выдвигает PVC, первый TVC1 появляется внутри границ панели навигации и панели вкладок. Однако, когда я проведу пальцем, TVC1 внутри будут скрыты за панелью навигации и панелью вкладок. Я могу потянуть, чтобы раскрыть содержимое, но когда я отпускаю, он возвращается к задней панели.

Как я могу заставить все появляться между двумя барами? Я не могу использовать раскадровку (потому что это устаревшее приложение), а опция внедрения ... недоступна.

[Редактировать]

Я добавил некоторые записи и обнаружил, что мой встроенный кадр TVC1 имеет абсолютное начало 0, 64, но как только я коснусь, он перейдет к 0, 0. Если я не могу найти реальное решение, я всегда могу подделать его добавив 64, но я бы предпочел выяснить, что на самом деле не так.

[/Редактировать]

[Подробнее Редактировать]

Я тестировал другую область в симуляторе iOS 6 и обнаружил, что эта подкачка работает безупречно в iOS 6. Так что проблема, которую я вижу, специфична для iOS 7.

[/ More Edit]

Вот мой TVC0viewDidLoadПВХpageViewController:viewControllerBeforeViewController:и помощникviewControllerAtIndex::

- (void) viewDidLoad
{
    [super viewDidLoad];
    NSDictionary* options = [NSDictionary dictionaryWithObject:
                             [NSNumber numberWithInteger: UIPageViewControllerSpineLocationMin]
                                                        forKey:
                             UIPageViewControllerOptionSpineLocationKey];
    self.pageController = [[UIPageViewController alloc] initWithTransitionStyle:
                           UIPageViewControllerTransitionStyleScroll
                                                          navigationOrientation:
                           UIPageViewControllerNavigationOrientationHorizontal
                                                                        options: options];

    self.pageController.dataSource = self;
    self.pageController.view.frame = self.view.frame;
    NSArray* viewControllers =
            [NSArray arrayWithObject: [self viewControllerAtIndex: self.initialIndex]];

    [self.pageController setViewControllers: viewControllers
                                  direction: UIPageViewControllerNavigationDirectionForward
                                   animated: NO
                                 completion: nil];

    [self addChildViewController: self.pageController];
    [self.view addSubview: self.pageController.view];
    [self.pageController didMoveToParentViewController: self];

    for (UIGestureRecognizer* recognizer in self.pageController.gestureRecognizers)
    {
        if ([recognizer isKindOfClass: [UITapGestureRecognizer class]])
        {
            recognizer.enabled = NO;
        }
    }
}

// SearchResultsList is TVC1
- (SearchResultsList*) viewControllerAtIndex: (NSUInteger) index
{
    if (index >= self.items.count)
    {
        return nil;
    }

    SearchResultsList* retVal = [[SearchResultsList alloc]
                                    initWithNibName: @"SearchResultsList" bundle: nil];

    MyListItem* myItem = [self.items objectAtIndex: index];
    MyMatchesRequest* matches = [[MyMatchesRequest alloc] initWithItemId: myItem.itemId];
    [matches execute: ^(MySearchResults* results)
     {
         retVal.tableData = [NSMutableArray arrayWithArray: results.items];
         retVal.view.frame = self.view.frame;
         retVal.myItem = myItem;
         retVal.index = index;
         self.title = myItem.displayText;
         [[retVal tableView] reloadData];
     }];

    return retVal;
}

- (UIViewController*) pageViewController: (UIPageViewController*) pageViewController
      viewControllerBeforeViewController: (UIViewController*) viewController
{
    SearchResultsList* vc = (SearchResultsList*)viewController;
    if (vc.index == 0)
    {
        [self.navigationController popViewControllerAnimated: YES];
        return nil;
    }

    return [self viewControllerAtIndex: vc.index - 1];
}

Ответы на вопрос(3)

Ваш ответ на вопрос