UISegmented Contol设置为Momentary Handler

Ada*_*dam 7 iphone uisegmentedcontrol ipad

这可能是一个非常简单的问题,但我似乎无法在API或任何搜索引擎中找到任何内容.

我有一个Segmented控件,我设置为瞬间,因为用户将选择他们想要搜索的几辆汽车.我遇到的问题是我似乎无法弄清楚如何识别选择了哪个段.在常规模式下,它是一个简单的SelectedSegment = index但是我的理解是所选的段总是-1,因为没有"被选中"

我有一个ValueChanged的处理程序,但我无法弄清楚我正在检查什么或我应该发送什么来确定选择了哪个段.任何帮助将不胜感激.我正在使用monotouch,但是Obj-C也可以.

谢谢!

Jac*_*kin 10

在处理程序中,您应该检查selectedSegmentIndex以确定选择了哪个段:

- (void)valueChanged:(UISegmentedControl *) control {
   switch([control selectedSegmentIndex]) {
      case 0:
         //...
         break;
      case 1:
         //...
         break;
   }
}
Run Code Online (Sandbox Code Playgroud)

  • 哇,这确实有用.[Apple文档](http://developer.apple.com/library/ios/documentation/uikit/reference/UISegmentedControl_Class/Reference/UISegmentedControl.html#//apple_ref/occ/instp/UISegmentedControl/selectedSegmentIndex)似乎表明了它不会."当控件处于瞬时模式时,UISegmentedControl忽略此属性." 但selectedSegmentIndex确实产生了很好的价值,所以对我有用. (3认同)
  • 这是对的.UISegmentedControl仅跟踪所选的*last*项目,而不是*所有*当前选定的项目.您必须在自己的对象中维护当前选定的列表. (2认同)