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