0

Xcode 8.1、swift 3.0を使用しています

私は2つのコントロールで作業をセグメント化したコードを持っています

3を追加しようとすると、コードの何が問題なのかわかりません

これは 2 セグメントで動作します

@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 セグメントでは機能しません

ここでは、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
      })
   } 
} 
4

1 に答える 1

0

さて、私はこのコードを試していましたが、今はうまくいきます:)

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
          }
     }
}
于 2016-10-31T02:58:53.613 に答える