У меня есть это приложение, которое было ранее разработано и поддерживается на Xcode 7.
Но недавно нам пришлось обновить Xcode до 10, чтобы иметь возможность публиковать приложение в Apple Store.
Многие макеты были повреждены при обновлении, и это, кажется, известная проблема
исх . Я считаю, что это проблема AutoLayout. Я исправил их, перейдя на раскадровку, чтобы добавить необходимые ограничения.
Однако существует проблема с одним из popovercontroll, который я не знаю, как исправить.
Вот как это должно выглядеть:
Вот как это выглядит после обновления:
Поповер не отображается.
Код не изменился. Это пользовательский контроллер табличного представления, унаследованный от UITableViewController
. Я попытался обновить кадр, но это не сработало.
Код, который должен появиться в окне:
UIStoryboard *storyBoard = [UIStoryboard storyboardWithName:@"MainStoryboard_iPhone" bundle:nil];
UNISortTableViewController *contentViewController = [storyBoard instantiateViewControllerWithIdentifier:@"UNISortTableViewController"];
((UNISortTableViewController *)contentViewController).sortKeyArray = [NSArray arrayWithObjects:@"1", @"2", @"3", @"4", @"5", nil];
[(UNISortTableViewController *)contentViewController setPreviousSortKeyIndex:sortKeyIndex];
[(UNISortTableViewController *)contentViewController setPreviousSortOrder:ascIssues];
self.popoverController = [[popoverClass alloc] initWithContentViewController:contentViewController];
if ([self.popoverController respondsToSelector:@selector(setContainerViewProperties:)]) {
[self.popoverController setContainerViewProperties:[self improvedContainerViewProperties]];
}
self.popoverController.delegate = self;
contentViewController.delegate = self;
[self.popoverController presentPopoverFromBarButtonItem:sender
permittedArrowDirections:(UIPopoverArrowDirectionUp|UIPopoverArrowDirectionDown|
UIPopoverArrowDirectionLeft|UIPopoverArrowDirectionRight)
animated:YES];
При отладке я вижу, что cellforrowatindexpath
событие не вызывается