繁体   English   中英

带子项的ios UITableViewController元素

[英]ios UITableViewController elements with childs

我希望生成一个导航列表。

我有一个UITableViewController,我希望如果单击某个单元格,则该单元格的子级将显示在UITabeViewController中,并且应该出现一个后退按钮。

目前为测试我这样做

var anz = 10
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return anz
}

override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
    if anz<10 {
        navigationController?.popToRootViewControllerAnimated(true)
    }
    anz = 5
    self.tableView.reloadData()
}

但是没有后退按钮(当然)。

所以它应该看起来像:

在此处输入图片说明

谢谢。

希望您要制作可折叠/可扩展的表格视图。

您可以参考http://www.appcoda.com/expandable-table-view/

我在项目中使用了此类扩展程序来处理导航后退按钮

extension UIViewController {
    var shouldShowBackButton: Bool {
        get {
            return navigationController?.viewControllers.indexOf(self) > 0
        }
    }
}

并在您的UIViewController子级中

override func viewDidLoad() {
    super.viewDidLoad()

    if shouldShowBackButton {
        navigationItem.leftBarButtonItem = UIBarButtonItem(image: UIImage(named: "back"), landscapeImagePhone: UIImage(named: "land_back"), style: .Plain, target: self, action: "pop")
    } else {
        navigationItem.setHidesBackButton(true, animated: false)
    }
}

您必须在此处管理条件1.首先在导航栏上添加一个后退按钮并将其隐藏。 2。 当您选择表格视图的单元格时,可以更改标记号或增加计数来管理条件。 3.汤有2个数组,您在表视图上加载第一个数组,并且当用户从表视图中选择单元格时,您增加标签号并在该时间重新加载表视图,您必须管理标签2的条件才能加载第二个表视图上的数组,并管理后退按钮及其减少计数的操作。

要在导航栏中显示后退按钮,您需要按下控制器。

override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
    if anz<10 {
       navigationController?.popViewControllerAnimated(true)
    }
    anz = 5
      let vc = YourViewController with custom INIT where you can pass anz
     navigationController?.pushViewController(vc, animated: true)
}

在这里, YourViewController是您当前的视图控制器,其中包含要在图片中显示的表格视图。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM