gpt4 book ai didi

ios - 点击 addChild viewController 不起作用

转载 作者:行者123 更新时间:2023-11-28 05:38:27 35 4
gpt4 key购买 nike

我正在制作抽屉菜单。

tableView 位于 DrawerMenuViewController 之上,addChildParentViewController

当您打开抽屉并点击 DrawerMenuViewController 上的 tableView 单元格时,没有任何响应。

  • didSelectRowAt 未被调用。
  • delegate 已设置。
  • 我放置了一个按钮而不是 tableView,但我无法按下该按钮(未调用 touchUpInside 中调用的方法)

为什么我不能点击 tableView Cell

DrawerMenuViewController 就在 ParentViewController 的左边。因为DrawerMenuViewController想按swipe从右边出来

- 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从右边出来

enter image description here

最佳答案

  1. didSelectRowAt 函数未被调用的一个原因是,即使您说您已经设置了委托(delegate)人,但 tableView 设置不正确。

只是为了确保您已将委托(delegate)和数据源设置在正确的位置:

扩展 ParentViewController:UITableViewDelegate,UITableViewDataSource {

}在 ParentViewController 的 viewDidLoad() 中

tableView.delegate = self
tableView.dataSource = self

XCode 会询问您是否要插入所需的函数 stub 。

  1. 当你这样做的时候

    menuViewController.view.frame = CGRect(
    x: view.frame.maxX,
    是:0,
    宽度:view.bounds.width,
    高度:UIScreen.main.bounds.height)

由于 x 坐标,您的原点似乎超出范围

关于ios - 点击 addChild viewController 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57771383/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com