【发布时间】:2019-10-27 00:02:56
【问题描述】:
我有这个以前在 Xcode 7 中开发和维护的应用程序。 但最近我们不得不将 Xcode 升级到 10 才能将应用发布到 Apple Store。
许多布局在更新时被破坏,这似乎是一个已知问题 ref。我相信这是自动布局的问题。我通过转到情节提要添加所需的约束来修复它们。
但是其中一个 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 事件未被调用
【问题讨论】:
-
你的代码是否使用了 UIPopoverController?此对象在 iOS 9 中已被弃用,因此,您必须编写其他选项。
-
@Michael Dougan 我更新了触发代码。不确定 self.popoverController 是否与 UIPopoverController 相同。但它适用于 iPad..
标签: ios objective-c xcode autolayout xcode10