我从未听说过 UISegmentSwitch,但我假设您正在谈论 UISegmentedControl。
尝试在 switch 语句中放置一个断点,以查看 seg: 方法是否被调用。不是,那么您还没有将方法正确连接到 UISegmentedControl。这很容易解决,但您必须显示更多代码。
您应该使用 sender.selectedSegmentIndex 而不是 segSwitch.selectedIndex。NSLog 在 switch 语句之前的值(或在调试器中检查它)以查看您是否获得了预期的值。
无法调用该方法的原因有几种。我认为 Cyrille 建议的那个很可能。
首先,确保您的控件实际上正在被触摸。当您点击不同的段时,选定的段是否会发生变化?如果没有,那么您所控制的可能是没有接触。检查以确保控件及其超级视图的 userInteractionEnabled 设置为 YES。
其次,在情节提要中选择分段控制器,打开 Xcode 检查器窗口,然后选择检查器窗口顶部的最后一个(第 6 个或最右边)选项卡。在这里,您将看到什么事件与什么方法相关联。发送事件应该是 Value Changed 并且应该连接到 File's Owner seg:。
您还可以检查以确保将文件的所有者设置为正确的视图控制器。