无论实现如何,UISegmentedControl 都拒绝工作
UISegmentedControl refuses to work regardless of implementation
我只是无法让 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
}
}
}
这是我的故事板的屏幕截图。
ViewContainer 可以同时完成这两项工作。第一个加载,当我将第一个滚动到不合适的位置时,我可以看到第二个。我只是想制作一个简单的分段控件来隐藏一个并显示另一个。
这就是问题所在,就在您展示的故事板屏幕截图中:
看到上面写着 Touch Up Inside 的地方了吗?那就是问题所在。 Touch Up Inside 是错误的控制事件!当您点击 UISegmentedControl 的一段时,您不会获得 Touch Up Inside 事件;你得到一个价值改变的事件。修复它,以便您的分段控件发出一个带有 segmentValueChanged
作为其操作函数的 Value Changed 事件,您将完成所有设置。
我只是无法让 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
}
}
}
这是我的故事板的屏幕截图。
ViewContainer 可以同时完成这两项工作。第一个加载,当我将第一个滚动到不合适的位置时,我可以看到第二个。我只是想制作一个简单的分段控件来隐藏一个并显示另一个。
这就是问题所在,就在您展示的故事板屏幕截图中:
看到上面写着 Touch Up Inside 的地方了吗?那就是问题所在。 Touch Up Inside 是错误的控制事件!当您点击 UISegmentedControl 的一段时,您不会获得 Touch Up Inside 事件;你得到一个价值改变的事件。修复它,以便您的分段控件发出一个带有 segmentValueChanged
作为其操作函数的 Value Changed 事件,您将完成所有设置。