简体   繁体   English

如何在Swift iOS开发中从一个视图控制器到另一个容器视图控制器获取分段控制索引?

[英]How do I get the Segmented Control index from one view controller to another containerview controller in Swift iOS development?

我在命名为仪表板控制器的视图控制器之一中使用三个索引分段控件,并将segue传递到容器视图以在仪表板控制器中加载三个不同的视图控制器,但所选索引仍显示分段控件,但容器视图正在加载仪表板控制器下的默认第一视图控制器。

Here's how I do it. 这是我的方法。

  • Don't link the segmented control to a segue directly, but to an action in the dashboard controller . 不要将分段控件直接链接到segue,而是链接到仪表板控制器中的动作
  • Swap out the views from the dashboard controller. 从仪表板控制器中交换视图。

func switchViews(_ sender: Any?) {
    // vcSelector is an instance variable, or you can use the sender
    let subVCIndex = vcSelector?.selectedSegmentIndex
    // also an instance variable
    currentViewController = nil
    switch subVCIndex {
        case 0:
            currentViewController = self.storyboard!.instantiateViewController(withIdentifier: "SubControllerA")
            // set up for case 0
        case 1:
            currentViewController = self.storyboard!.instantiateViewController(withIdentifier: "SubControllerB")
            // set up for case 1
        // ...
        default:
            // should never happen
            NSLog("*** Invalid view mode! ***")
            return // bail out
    }

    // add the new view controller
    self.addChildViewController(currentViewController!)

    // take out all the old subviews
    for subview in self.containerView!.subviews {
        subview.removeFromSuperview()
    }

    // install the new subVC's view
    self.containerView?.addSubview(currentViewController!.view)
    currentViewController!.view.frame = self.containerView!.bounds
}

暂无
暂无

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

相关问题 使用Swift,如何从另一个视图控制器中的按钮调用在一个视图控制器中编码的函数? - Using Swift, how do I call a function coded in one view controller from a button in another view controller? 从containerView,如何访问包含Swift容器的视图控制器? - From a containerView, how do you access the view controller containing the container in Swift? 在快速的iOS 8中,当单击一个单元格时,如何获取它以打开另一个视图控制器? - In swift iOS 8 when a cell is clicked, how do I get it to open another view controller? 我如何使用swift在不是当前的视图控制器中显示从数据库中检索到的数据,而在ios中显示另一个 - how can i show retrieved data from database in not a present view controller but another one in ios with using swift Swift IOS:一个视图控制器中的多个按钮,控制另一个视图控制器中的图像视图显示 - Swift IOS: several buttons in one view controller, control the image view display in another view controller 如何在iOS 9的一个View Controller中处理两个分段控制器? - How to handle two Segmented Controllers in one View Controller in iOS 9? 如何在 Swift 中以编程方式从一个控制器导航到另一个视图控制器? - How to navigate from one controller to another View Controller programmatically in Swift? 如何将信息从一个视图控制器中的表视图单元传递到另一视图控制器? - How do I pass information from a table view cell in one view controller to another view controller? 如何在iOS开发中切换新的视图控制器? - How do I switch a new view controller in iOS development? 如何从另一个视图控制器中的变量获取值 - How do I get a value from a variable in another View Controller
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM