我有UISegmentedControl
几个段,每个段都有不同的“标题”。我希望能够读取 a NSString
,并以编程方式选择标题与该字符串匹配的段。假设我从以下内容开始:
NSString *stringToMatch = @"foo";
UISegmentedControl *seg = [[UISegmentedControl alloc] initWithItems:[NSArray arrayWithObjects:@"foo",@"bar",@"baz", nil]];
我想做类似的事情:
[seg selectSegmentWithTitle:stringToMatch];
但是由于没有调用方法selectSegmentWithTitle
,所以这不起作用。有人知道与此类似的方法吗?
我还想过循环遍历 中的所有标题seg
,类似于:
int i = 0;
for (UISegment *thisSeg in [seg allSegmentsInOrder])
{
if ([thisSeg.title isEqualToString:stringToMatch])
{
[seg setSelectedSegmentIndex:i];
break;
}
i++;
}
但据我所知,没有这样的东西UISegment
,也没有方法allSegmentsInOrder
。再说一次,有人知道我可以做些什么改变来让它工作吗?
第三,我可能可以继承 UISegmentedControl 以某种方式添加我希望它拥有的方法。不过,我讨厌这样的子类化,因为我必须去重新声明我所有的细分和其他类似的不方便的事情。但这可能是唯一的出路……
也许这样做的方式与我上面列出的三个想法完全不同。我对任何事情都持开放态度。