0

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

4

1 回答 1

0

好的,我在没有 IBOutlet 的情况下完成了这项工作。我所要做的就是将每个标签设置UISegmentedControl为某种唯一的数字,稍后当它被触摸时可以解析出来。我在我的 UITableViewController .m 文件中的 cellForRowAtIndexPath 方法中执行了此操作。[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

于 2013-10-02T17:41:09.460 回答