无论实现如何,UISegmentedControl都拒绝工作

时间:2018-05-25 23:26:29

标签: swift xcode interface-builder uisegmentedcontrol xcode-storyboard

我无法让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 :(得分:2)

这就是问题所在,就在您展示故事板的屏幕截图中:

enter image description here

看看Touch Up Inside的位置?这就是问题所在。 Touch Up Inside是错误的控制事件!当您点击UISegmentedControl的一部分时,您将无法获得Touch Up Inside事件;你得到一个Value Changed事件。修复它,以便您的分段控件以/confirm作为其动作函数发出Value Changed事件,并且您将全部设置。