【问题标题】:UISplitView showDetailViewController: not working on a deviceUISplitView showDetailViewController:不在设备上工作
【发布时间】:2023-03-18 00:20:01
【问题描述】:

我有一个主页,当按下某个按钮时,它会将您带到一个拆分视图,其中左侧(主)侧有一个表格,右侧(细节)侧有一个显示详细信息的视图。该应用程序在模拟器上运行良好,但在我的 iPad mini 上运行时出现错误。

当用户点击左侧(主)视图中的表格单元格时,我调用:

DetailViewController *detail = [self.storyboard instantiateViewControllerWithIdentifier:@"detailViewController"];
detail.jobInfo = [_fetchedResultsController objectAtIndexPath:indexPath];
[self.splitViewController showDetailViewController:detail sender:self];

这会更新模拟器中的详细视图,但会崩溃并在设备上显示以下错误:

'-[UISplitViewController showDetailViewController:sender:]: unrecognized selector sent to instance' 

关于如何解决此问题的任何建议?

【问题讨论】:

  • 设备是否在 iOS 8 上?
  • 不,它有 7.1.2,该方法仅适用于 iOS 8 吗?
  • 您能建议一种方法来为早期版本的 iOs 获得相同的结果吗?
  • 更新viewControllers属性:viewControllers[0]是master,[1]是detail。但是,如果您在细节方面有一个导航控制器,您可能更愿意使用它来代替。
  • 整个 SplitView 在一个导航控制器中。我尝试更新 viewControllers 属性并收到相同的错误:无法识别的选择器

标签: ios xcode uisplitviewcontroller uisplitview uisplitviewdelegate


【解决方案1】:

要直接更新 viewControllers 属性,请执行以下操作:

NSArray *vcs = @[self.splitViewController.viewControllers[0],detail];
self.splitViewController.viewControllers = vcs;

【讨论】:

  • 完美答案!在模拟器上一切正常,但在设备崩溃时!这个答案解决了它!
猜你喜欢
  • 1970-01-01
  • 2012-08-19
  • 2023-03-23
  • 1970-01-01
  • 2011-08-22
  • 2019-06-02
  • 1970-01-01
  • 1970-01-01
  • 2017-06-08
相关资源
最近更新 更多