【发布时间】:2020-01-08 18:38:16
【问题描述】:
我正在尝试在 UIViewController 中嵌入自定义视图。但是在显示时,它是不可点击的,因为它不在 UIView 框架中。
viewDidLoad:
@IBOutlet var theVC_InVC_Test: UIView!
@IBOutlet var TableView: UITableView!
override func viewDidLoad() {
TableView.delegate = self
TableView.dataSource = self
func embed(_ viewController:UIViewController, inView view:UIView){
viewController.willMove(toParent: self)
viewController.view.frame = view.bounds
view.addSubview(viewController.view)
self.addChild(viewController)
viewController.didMove(toParent: self)
}
embed(sidemenutest1(), inView: theVC_InVC_Test)
}
sidemenutest1 UIViewController:
func popItOver(){
let PopOverVC = UIStoryboard(name:"Main",bundle: nil).instantiateViewController(withIdentifier: "CoinsPopUp") as! CoinsPopUpViewController
self.addChild(PopOverVC)
PopOverVC.view.frame = UIScreen.main.bounds
self.view.addSubview(PopOverVC.view)
PopOverVC.didMove(toParent: self)
}
@IBAction func storeAction(_ sender: Any) {
popItOver()
}
显示正常,但无法点击...当我尝试点击子视图按钮时,点击的是 TableView 而不是子视图。
【问题讨论】:
-
“它无法点击,因为它不在 UIview 框架中。”是的,其父视图之外的视图是不可点击的。如果你知道,问题是什么?
-
如何解决。我不希望侧面菜单视图适合给定区域,但弹出窗口必须位于中间。
-
然后不要让弹出的侧边菜单的子视图。或者改变命中测试的工作方式。
-
必须这样,你有什么建议解决这个问题。
-
不,它“不一定要这样”。
标签: ios swift uiview uiviewcontroller custom-view