如何从原型单元中连接UISegmentedControl?

时间:2013-10-02 14:12:55

标签: ios uisegmentedcontrol

我在原型单元格的故事板中定义了一个UISegmentedControl。尝试将控件插入IBOutlet会导致Xcode错误“无法编译连接”。经过一番搜索后,我发现此错误消息是因为IBOutlet不能以这种方式与原型单元一起使用。有没有办法通过连接到控件的IBAction的id参数访问UISegmentedControl *?我将有多个表行,每行都包含自己的UISegmentedControl,所以我必须在IBAction中加入一些逻辑来区分它们。

1 个答案:

答案 0 :(得分:0)

好的,我没有IBOutlet就可以使用它。我必须要做的是将每个UISegmentedControl的标记设置为某种唯一的数字,以便在事物被触摸时解析出来。我是在cellForRowAtIndexPath方法的UITableViewController .m文件中完成的。 [mysegcontrol setTag:count];

然后我将IBAction连接到UISegmentedControl,并在该方法中执行以下操作:

   UISegmentedControl *usc = (UISegmentedControl *)sender;
   NSInteger sidx = [usc selectedSegmentIndex];
   NSString *stxt = [usc titleForSegmentAtIndex:sidx];
   NSInteger tag = [usc tag];

   NSLog(@"control text %@ tag %d", stxt, tag);

这样,我可以使用switch语句或其他任何内容来确定基于UISegmentedControl的值命中的tag;