UItableViewCell 中的 Present 函数是否有替代方案?
Is there an alternative for function Present in a UItableViewCell?
我想从 UITableViewCell(Xib) 导航到 UIViewController 但是当我尝试使用 present Value of type 'TableViewCell' has no member 'present
因此,如果有人熟悉可以帮助我导航的功能,请帮助我 :) .
感谢您的宝贵时间
UITableViewCell 无法显示 viewcontroller。请将 viewController 存储到 tableview 单元格中的变量中。并用它来呈现。
或者使用 didSelectRowAt
委托函数并使用 self 来呈现(或者如果您的事件通过单元格中的按钮触发,则编写您的自定义单元格委托)
使您的 ViewController
符合 UITableViewDelegate
协议,然后在您的 ViewController
代码中使用委托方法:func tableView(UITableView, didSelectRowAt: IndexPath)
并在此方法中 perform/present 一个 segue或您拥有的任何其他类型的导航。
import UIKit
class ViewController: UIViewController, UITableViewDelegate {
override func viewDidLoad() {
super.viewDidLoad()
}
func tableView(UITableView, didSelectRowAt: IndexPath) {
// navigation logic here
}
}
在自定义 UITableViewCell
中使用 closure
来处理这种情况。
在您的自定义 UITableViewCell
中创建一个 handler
并在 cell
中点击 button
时调用它,即
class CustomCell: UITableViewCell {
var handler: (()->())?
@IBAction func onTapButton(_ sender: UIButton) {
handler?()
}
}
现在,在创建cell
时,在cellForRowAt
中设置handler
,即
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as! CustomCell
cell.handler = {
//present your controller here...
}
return cell
}
我想从 UITableViewCell(Xib) 导航到 UIViewController 但是当我尝试使用 present Value of type 'TableViewCell' has no member 'present
因此,如果有人熟悉可以帮助我导航的功能,请帮助我 :) .
感谢您的宝贵时间
UITableViewCell 无法显示 viewcontroller。请将 viewController 存储到 tableview 单元格中的变量中。并用它来呈现。
或者使用 didSelectRowAt
委托函数并使用 self 来呈现(或者如果您的事件通过单元格中的按钮触发,则编写您的自定义单元格委托)
使您的 ViewController
符合 UITableViewDelegate
协议,然后在您的 ViewController
代码中使用委托方法:func tableView(UITableView, didSelectRowAt: IndexPath)
并在此方法中 perform/present 一个 segue或您拥有的任何其他类型的导航。
import UIKit
class ViewController: UIViewController, UITableViewDelegate {
override func viewDidLoad() {
super.viewDidLoad()
}
func tableView(UITableView, didSelectRowAt: IndexPath) {
// navigation logic here
}
}
在自定义 UITableViewCell
中使用 closure
来处理这种情况。
在您的自定义 UITableViewCell
中创建一个 handler
并在 cell
中点击 button
时调用它,即
class CustomCell: UITableViewCell {
var handler: (()->())?
@IBAction func onTapButton(_ sender: UIButton) {
handler?()
}
}
现在,在创建cell
时,在cellForRowAt
中设置handler
,即
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as! CustomCell
cell.handler = {
//present your controller here...
}
return cell
}