目标是从自定义 UITableViewCell 功能中创建一个新的视图控制器。我见过的所有例子都是在 UIVIewController 中完成的。
如何实现这一目标?
这是自定义表笔尖的完整控制器。
import UIKit
class feedRow: UITableViewCell {
@IBAction func tapThing(sender: AnyObject) {
let storyboard = UIStoryboard(name: "Main", bundle: nil)
var vc:UIViewController!
// THIS DOESN'T WORK:
self.thingController!.pushViewController(storyboard!.instantiateViewControllerWithIdentifier("thingDetail") as UIViewController, animated: true)
}
}
错误是"' feedRow'没有名为' thingController'"
的成员由于这是在 UITableViewCell 中,因此它不包含其他示例所示的 UIViewController 中存在的控件。
更新:根据答案,这已转移到 didSelectRowAtIndexPath 部分。
func tableView(tableView: UITableView!, didSelectRowAtIndexPath indexPath: NSIndexPath!) {
let storyboard = UIStoryboard(name: "Main", bundle: nil)
var goThing = storyboard.instantiateViewControllerWithIdentifier("thingDetail") as UIViewController
self.presentViewController(goThing, animated:true, completion:nil)
}
答案 0 :(得分:1)
在你的视图控制器类中调用它,你的tableview在函数didSelectRowAtIndexPath中它应该工作。