2016-08-21 7 views
0

Я сделал приложение iOS с Xcode и Swift. Я хочу использовать UISegmentedControl с тремя вкладками. С помощью этих вкладок я могу переключаться между тремя ContainerView.Не удалось использовать UISegmentedControl с тремя вкладками и ContainerView

Какие числа я должен ввести в альфа-поля? 0, 1 и 2? Потому что, когда я устанавливаю 2, он всегда возвращается к 1. Почему? Как я могу это сделать?

Это код, я использую, чтобы соединить язычки с ContainerViews:

@IBAction func switchSegmentedControll(sender: UISegmentedControl) { 
     if sender.selectedSegmentIndex == 0 { 
      UIView.animateWithDuration(0.5, animations: { 
       self.segmentedControllFirst.alpha = 1 
       self.segmentedControllSecond.alpha = 0 
//    self.segmentedControllThird.alpha = 0 
      }) 
     } else { 
      UIView.animateWithDuration(0.5, animations: { 
       self.segmentedControllFirst.alpha = 0 
       self.segmentedControllSecond.alpha = 1 
//    self.segmentedControllThird.alpha = 1 
      }) 
     } 
    } 
+0

Что вы называете «альфа-поле» единственное, что я вижу, это контроль прозрачности (альфа-значение вида) – FredericP

+0

Посмотрите на https: // разработчик. apple.com/library/ios/documentation/UserExperience/Conceptual/UIKitUICatalog/UISegmentedControl.html – FredericP

+0

Почему вы устанавливаете значение альфа для других сегментов? –

ответ

0

Я думаю, что я только что нашел решение. Это было неправильное понимание. Я не знал, что такое Alpha и как работает код, который я использую.

Это рабочий код:

@IBAction func switchSegmentedControll(sender: UISegmentedControl) { 
    if sender.selectedSegmentIndex == 0 { 
     UIView.animateWithDuration(0.5, animations: { 
      self.segmentedControllFirst.alpha = 1 
      self.segmentedControllSecond.alpha = 0 
      self.segmentedControllThird.alpha = 0 
     }) 
    } else if sender.selectedSegmentIndex == 1 { 
     UIView.animateWithDuration(0.5, animations: { 
      self.segmentedControllFirst.alpha = 0 
      self.segmentedControllSecond.alpha = 1 
      self.segmentedControllThird.alpha = 0 
     }) 
    } else { 
     UIView.animateWithDuration(0.5, animations: { 
      self.segmentedControllFirst.alpha = 0 
      self.segmentedControllSecond.alpha = 0 
      self.segmentedControllThird.alpha = 1 
     }) 
    } 
} 
2

Если вы хотите иметь три вкладки, а затем установите Segments поле, «3», как показанный на скриншоте ниже:

enter image description here

альфа-значение в диапазоне от 0 до 1 и используется для видимости. Вы не можете установить значение альфа больше 1

+0

Вы должны принять ответ Мухаммеда Шейкера и задать другой вопрос, не обновляя этот вопрос, если у вас есть другие проблемы – FredericP