【发布时间】:2020-01-06 08:14:21
【问题描述】:
我正在制作一个抽屉式菜单。
tableView 位于DrawerMenuViewController 之上,即addChild 到ParentViewController。
当您打开抽屉并点击DrawerMenuViewController 上的tableView 单元格时,没有任何响应。
-
didSelectRowAt未被调用。 -
delegate已设置。 - 我放了一个按钮而不是
tableView,但我无法按下那个按钮(touchUpInside中调用的方法没有被调用)
为什么我不能点击tableView Cell?
DrawerMenuViewController 就在ParentViewController 的左侧。
因为DrawerMenuViewController要按滑动从右边出来
- TabBarController
- NavigationController
- ParentViewController
- DrawerMenuViewController
class ParentViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
menuViewController = DrawerMenuViewController()
menuViewController.view.frame = CGRect(
x: view.frame.maxX,
y: 0,
width: view.bounds.width,
height: UIScreen.main.bounds.height)
view.addSubview(menuViewController.view)
addChild(menuViewController)
menuViewController.didMove(toParent: self)
}
}
补充
DrawerMenuViewController 就在 ParentViewController 的左边。 因为 DrawerMenuViewController 要根据 swipe 从右边出来
【问题讨论】:
-
将
tabBarController?.view.addSubview(menuViewController.view)更改为self.view.addSubview(menuViewController.view)?? -
@Sh_Khan 感谢您的回答!抱歉,这是我的描述错误,
view.addSubview(menuViewController.view)是实际描述。即便如此,也没有点击响应 -
你写道:
x: view.frame.maxX-- 你看到你期望的菜单了吗?你在view debugger 看到了什么? -
@Yonat 是的。我期待它。我添加了解释。请检查
标签: ios swift xcode uiviewcontroller uikit