gpt4 book ai didi

ios - Popup VC 显示在单元格上而不是 tableView 上

转载 作者:行者123 更新时间:2023-11-29 05:30:58 25 4
gpt4 key购买 nike

我在 tableView (FeedTableViewController) 中显示一个在单击按钮时运行的函数的弹出窗口

func preset(){
let popOverVC = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "PostOptions") as! PostOptionsViewController
self.addChild(popOverVC)
popOverVC.view.frame = self.view.frame
self.tableView.addSubview(popOverVC.view)
popOverVC.didMove(toParent: self)
}

PostOptionsViewController 是显示在 tableView 上的 VC。现在,当运行 preset() 时,popOverVC 将显示在 tableView 的单个单元格上,而不是整个 tableView 上。

我想在整个tableView上显示它。我关注了answeres here这就是我所做的。

但是 VC 正在显示在单元格空间上,当您滚动时,VC 会与单元格一起显示。它需要单元格的边界。

所以我试图停止滚动。

func scrollToggle(){
print("CLCKED")
if tableView.isScrollEnabled {
tableView.isScrollEnabled = false
}else{
tableView.isScrollEnabled = true
}
}

我尝试在此处停止滚动,使其看起来像弹出窗口。现在我似乎无法通过 PostOptionsViewController

中的按钮操作再次启用。

我尝试从 PostOptionsViewController 这样做

@objc func test(_ sender : UILabel){
self.view.removeFromSuperview()
let storyBoard : UIStoryboard = UIStoryboard(name: "Main", bundle:nil)
let nextViewController = storyBoard.instantiateViewController(withIdentifier: "feed") as! FeedTableViewController
nextViewController.scrollToggle()
}

但是我在控制台中打印了“CLCKED”,并且 View 被删除,但我无法再滚动 tableView

最佳答案

你说的是

self.tableView.addSubview

表格 View 是 ScrollView 。它滚动其 subview 。因此,您添加的 View 与 TableView 一起滚动。

为了防止这种情况,请将 View 固定到 TableView 的框架布局指南。或者只使用呈现的 View Controller ,而不是 subview Controller 。

关于ios - Popup VC 显示在单元格上而不是 tableView 上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57577710/

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