UISegmentedControl отказывается работать независимо от реализации - PullRequest
0 голосов
/ 26 мая 2018

Я просто не могу заставить работать UISegmentedControl.Даже не делать такие простые вещи, как изменение цвета.Я думаю, что я пробовал по крайней мере дюжину различных реализаций, но вот моя последняя.

import UIKit

class FirebaseSegmentedView: UIViewController {
    @IBOutlet var firstContainer: UIView!
    @IBOutlet var secondContainer: UIView!

    @IBOutlet weak var segment: UISegmentedControl!

    @IBAction func segmentValueChanged(_ sender: Any) {
        let getIndex = segment.selectedSegmentIndex

        switch (getIndex) {
        case 0:
            self.firstContainer.isHidden = false
            self.secondContainer.isHidden = true
        case 1:
            self.firstContainer.isHidden = true
            self.secondContainer.isHidden = false
        default: break
        }
    }
}

Вот скриншот моей раскадровки.

enter image description here

ViewContainers выполняют обе работы.Первый загружается, и я вижу второй, когда прокручиваю первый не на своем месте.Я просто пытаюсь сделать простой сегментированный элемент управления, чтобы скрыть один и показать другой.

1 Ответ

0 голосов
/ 26 мая 2018

Вот проблема, прямо на скриншоте, который вы показали на вашей раскадровке:

enter image description here

Посмотрите, где написано Touch Up Inside?Это проблема.Touch Up Inside - неправильное контрольное событие!Когда вы касаетесь сегмента UISegmentedControl, вы не получаете событие Touch Up Inside;Вы получаете событие Value Changed.Исправьте это так, чтобы ваш сегментированный элемент управления генерировал событие Value Changed с segmentValueChanged в качестве функции действия, и все будет готово.

...