gpt4 book ai didi

ios - UISegmentedControl 以编程方式

转载 作者:搜寻专家 更新时间:2023-11-01 07:22:48 34 4
gpt4 key购买 nike

我创建了一个包含以下内容的 ViewController:

  • UISegmentedControl
  • 容器

Image1

当我从另一个 View 到达时,我试图以编程方式更改选择。我试过:

if let previousSelection = NSUserDefaults.standardUserDefaults().stringForKey("SEGMENT_CONTROL") {
segmentSaved = Int(previousSelection)!
}

if (segmentSaved == 0) {
mySegmentControl.selectedSegmentIndex = segmentSaved
} else if (segmentSaved == 1) {
mySegmentControl.selectedSegmentIndex = segmentSaved
} else if (segmentSaved == 2) {
mySegmentControl.selectedSegmentIndex = segmentSaved
} else {
print("Error")
}

它从内存中获取一个整数并将其用作 UISegmentedControl 的索引。它可以工作,但不会更改容器中的 View 。

如何更改容器?

它是这样工作的:

let viewControllerIdentifiers = ["ViewController1", "ViewController2", "ViewController3"]

@IBAction func segmentController(sender: UISegmentedControl) {

let newController = (storyboard?.instantiateViewControllerWithIdentifier(viewControllerIdentifiers[sender.selectedSegmentIndex]))! as UIViewController
let oldController = childViewControllers.last! as UIViewController

oldController.willMoveToParentViewController(nil)
addChildViewController(newController)
newController.view.frame = oldController.view.frame

transitionFromViewController(oldController, toViewController: newController, duration: 0.25, options: .TransitionCrossDissolve, animations:{ () -> Void in
}, completion: { (finished) -> Void in
oldController.removeFromParentViewController()
newController.didMoveToParentViewController(self)

})


}

最佳答案

更改所选索引后,只需调用函数 self.segmentController(mySegmentControl)

关于ios - UISegmentedControl 以编程方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37813129/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com