【发布时间】:2016-08-29 14:50:04
【问题描述】:
我正在尝试创建一个类似的表格视图,如下所示:
https://github.com/justinmfischer/SwiftyExpandingCells
我已经有一个包含内容的完整表格视图,包括一个过滤系统。当前的问题是我想实现相同的功能来扩展单元格并显示详细信息,不使用情节提要。
示例代码(链接)使用故事板转场,但我想摆脱它,这样它基本上可以通过代码做同样的事情。我删除了背景的标签。只想通过单击 tableview 单元格首先获取标题和新控制器。
DetailViewController
class DetailVC: UIViewController {
var brand: Brand?
override func viewDidLoad() {
super.viewDidLoad()
self.setup()
}
func setup() {
self.view.frame.origin.y = UIApplication.sharedApplication().statusBarFrame.size.height
if let brand = self.brand {
self.title = brand.name
}
}
}
这部分需要改变
override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
self.selectedCellFrame = tableView.convertRect(tableView.cellForRowAtIndexPath(indexPath)!.frame, toView: tableView.superview)
self.selectedBrand = BrandManager.sharedInstance.brands[indexPath.row]
self.performSegueWithIdentifier(.DetailVC , sender: nil)
}
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
switch segueIdentifierForSegue(segue) {
case .DetailVC:
let vc = segue.destinationViewController as! DetailVC
vc.brand = self.selectedBrand
self.navigationController?.delegate = self
}
}
【问题讨论】:
-
我认为链接的 GitHub 代码本身就是您的答案。
-
但是链接的代码正在使用故事板segue(请参阅有问题的代码)。我的问题是如何将其更改为非故事板 segue 版本:-)
-
没有情节提要还是没有segue?
-
没有情节提要。我在代码中做所有事情,但我想实现相同的功能(单击 tableview 行并将其从上到下展开)。
-
我的答案中的代码是 github 项目的一部分,但由于故事板项目为 0%,它使用了我无法使用的故事板 segue。我只想在选择表格行时将视图控制器推到前台(见图)。我已经尝试了好几个小时了 :-( github.com/justinmfischer/SwiftyExpandingCells/blob/master/…