如何正确显示另一个的快速视图控制器

时间:2018-07-25 14:58:03

标签: swift menu presentviewcontroller

我有一些\r\n视图控制器的方法,例如:

present

在该控制器(称为 HomeViewController )中,它还会显示很多图标和UILabel(以及其他装饰)。图标和标签及其动作选择器(如上面的方法名称)一起存储在数组中。因此,当点击图标(使用 UIGesturerRecognizer 分配)时,将调用其操作Selector。这一切都很好,即。适当的VC会显示出来并采取措施。

我只是添加一个菜单( MenuNSObject ),该菜单将列出每个图标和标签。这在任何VC中都能很好地显示模式。但是,在点击时会调用上述方法(请参见更多信息),但无法正确执行操作。

例如,从以上代码中调用的VC( ContactUsViewController )(通常)显示包含用户位置的地图-因此它要求获得用户位置权限 。但是,当从菜单中点击该项目时,它将调用上面的代码,并且显示 permission 警报(按预期方式)。然后什么也没有。仍然可以看到相同的VC。

为什么在第一种情况下(从HomeViewController的角度来看)这种方法工作正常,但是在菜单中无法正常工作?

更多信息

使用collectionView显示菜单项,@objc func contactTapped(_ sender: UITapGestureRecognizer?) { self.present(ContactUsViewController(), animated: false, completion: (() -> Void)? { }) } 包含以下代码:                     didSelectItemAt

其中UIApplication.shared.sendAction(menuItems[indexPath.item].target!, to: self.parent, from: nil, for: nil) HomeViewController (初始)中的变量集,它指向 self parent是menuItems数组中的动作选择器。

0 个答案:

没有答案