【问题标题】:It is possible to maintain two tableviews and one viewcontroller in segmented controller?可以在分段控制器中维护两个表视图和一个视图控制器吗?
【发布时间】:2019-07-31 10:09:30
【问题描述】:

我对如何在分段控制器中维护两个表视图和一个视图控制器有疑问。在segment=0 我想显示第一个tableview,在segment=1 显示第二个tableview 和segment=2 显示一个视图控制器,这可能吗?

【问题讨论】:

  • 你有可能,为每件事使用标签,显示
  • 不是有两个表,而是两个段都有两个数据源,将节省大量工作和时间

标签: ios objective-c uitableview uiviewcontroller uisegmentedcontrol


【解决方案1】:

是的。有可能的。有两种方法。

  1. 使用单个表格视图。并根据段,更改 tableview 值。
  2. 使用两个自定义 tableview 类和自定义 Protocal/delegate 方法来管理事件。

【讨论】:

    【解决方案2】:

    你真的不需要有 2 个Tableviews。根据段选择调用[tableview reloaddata] 和您的数据,在该段部分显示什么。这节省了大量的精力和操作。

    【讨论】:

      【解决方案3】:

      我认为 scrollView 可以帮你解决问题:

      只需在scrollView上添加两个tableView,使用segmentedController的方法设置scrollView的contentOffset.x

      同样,你可以在两个tableView之后的scrollView上添加ViewController,然后通过点击segment == 2滚动到它

      希望我的建议可以帮到你:)

      【讨论】:

        【解决方案4】:

        无论您使用的是一个还是多个表视图,主要思想是处理选择事件。

        如果您的分段控件是在情节提要中创建的,您可以使用@IBAction 插座,或者您可以使用“addTarget”语法。

        例如:

         mySegmentedControl.addTarget(self, #selector(myHandlerMethod(_:), for: .valueChanged)
        

        处理程序方法类似于:

        (第一种情况)

        @IBAction func myHandlerMethod(_ sender: UISegmentedControl) {
        
        }
        

        (第二种情况)

        @objc func myHandlerMethod(_ sender: UISegmentedControl) {
            if sender.selectedSegmentIndex == 1 {
                // handle your table view reloading or switching between first and second table views. 
            } else {
                // otherwise, do something else
            }
        }
        

        一些额外的想法:

        • 我同意其他人的观点,即使用单个表视图并为其提供一组不同的数据。如果您的数据集之间的内容格式在结构和含义上不同,您可以使用 UITableViewCell 的不同子类来表示您的数据。

        • 使用子视图控制器而不是普通视图/表格视图可能也值得研究。这样,您就可以将与要在视图控制器中呈现的每个特定场景相关的逻辑封装并独立管理。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-12-20
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多