gpt4 book ai didi

swift - 在 swift 中以编程方式在 tableviewcell 上执行 Root View Controller segue

转载 作者:行者123 更新时间:2023-11-30 10:31:43 24 4
gpt4 key购买 nike

下面的代码创建一个 tableviewcell 并在其中放置一个对象。不存在将数据放入 tableviewcell 中的代码。我想要做的就是当用户单击 tableviewcell 时,它将传输到基本 View Controller 类。无需展示如何返回。

   var itemName : [NSManagedObject] = []
var theField = UITableView()

override func viewDidLoad() {
super.viewDidLoad()


theField.register(UITableViewCell.self, forCellReuseIdentifier: "MyCell")
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let title = itemName[indexPath.row]
let cell = theField.dequeueReusableCell(withIdentifier: "MyCell", for : indexPath)

cell.selectionStyle = .default
let attr1 = title.value(forKey: "name") as? String



let text = [attr1].flatMap { $0 }.reduce("", +)
cell.textLabel?.text = "\(text)"

cell.textLabel?.textAlignment = .center

cell.layoutMargins = UIEdgeInsets.zero




cell.preservesSuperviewLayoutMargins = false
cell.separatorInset = UIEdgeInsets.zero
cell.layoutMargins = UIEdgeInsets.zero


return cell

}

@objc func moveRight() {

//pass tableview cell
let vce = fullScreen()
vce.text = UITableViewCell




vce.modalPresentationStyle = .overCurrentContext // actually .fullScreen would be better
vce.present(vce, animated: true)}

最佳答案

假设你有一个数组titles

cell.textLabel?.text = titles[indexPath.row]

然后在此方法中执行操作:

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
tableView.deselectRow(at: indexPath, animated: true)

moveRight(titles[indexPath.row])

}

func moveRight(_ title:String) {
//pass tableview cell
let vc = fullScreen()
vc.text = title
self.navigationController!.pushViewController(vc, animated: true)
}

关于swift - 在 swift 中以编程方式在 tableviewcell 上执行 Root View Controller segue,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59061883/

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