控制 3 分段

Posted

技术标签:

【中文标题】控制 3 分段【英文标题】:control 3 Segmented 【发布时间】:2016-10-29 05:36:42 【问题描述】:

我正在使用 Xcode 8.1 , swift 3.0

我有代码用 2 个控件分段它的工作

当我尝试添加 3 时,它不知道我的代码有什么问题

这一项与 2 Segmented 一起工作

@IBAction func showComponent(_ sender: UISegmentedControl) 
   if sender.selectedSegmentIndex == 0 
      UIView.animate(withDuration: 0.0, animations: 
         self.containerViewA.alpha = 1
         self.containerViewB.alpha = 0
      )     
    else 
      UIView.animate(withDuration: 0.0, animations: 
         self.containerViewA.alpha = 0
         self.containerViewB.alpha = 1
      )
    
 

这个不能使用 3 Segmented

这里正在尝试使用 3x 分段控制的新代码;

@IBAction func showComponent(_ sender: UISegmentedControl) 
   if sender.selectedSegmentIndex == 0 
      UIView.animate(withDuration: 0.5, animations: 
         self.containerViewA.alpha = 1
         self.containerViewB.alpha = 0
         self.containerViewC.alpha = 0
      )

      UIView.animate(withDuration: 0.5, animations: 
         self.containerViewA.alpha = 0
         self.containerViewB.alpha = 1
         self.containerViewC.alpha = 0
    else      
      UIView.animate(withDuration: 0.5, animations: 
         self.containerViewA.alpha = 0
         self.containerViewB.alpha = 0
         self.containerViewC.alpha = 1
      )
    
 

【问题讨论】:

【参考方案1】:

我正在尝试使用这段代码,现在它的工作:)

import UIKit
class ViewController: UIViewController 
    @IBOutlet weak var orange: UIView!
    @IBOutlet weak var yellow: UIView!
    @IBOutlet weak var red: UIView!
    override func viewDidLoad() 
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
    
    override func didReceiveMemoryWarning() 
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    
    @IBAction func showComponent(_ sender: UISegmentedControl) 
        if sender.selectedSegmentIndex == 0 
                self.orange.alpha = 1
              self.yellow.alpha = 0
                self.red.alpha = 0
        
              if sender.selectedSegmentIndex == 1 
                self.orange.alpha = 0
                 self.yellow.alpha = 1
               self.red.alpha = 0
        
                if sender.selectedSegmentIndex == 2 
               self.orange.alpha = 0
                self.yellow.alpha = 0
                self.red.alpha = 1
          
     

【讨论】:

以上是关于控制 3 分段的主要内容,如果未能解决你的问题,请参考以下文章

将 NSMutableArray 中的所有值相加并根据普通分段控制乘以值

分段控制错误选择索引

我们如何才能在分段控制中获得分段的矩形框?

使用带有分段控制的 Storyboard Segue

如何使用分段控制在 iphone 上添加超过 6 个分段和图像

ViewControllers MFMailComposer 旋转问题的分段控制