我有一个自定义的UITableViewCell,它有一个UISegmentedControl对象。我的UITableView(问卷表单)有6个这样的自定义单元格(6个分段控件)。我无法获得selectedSegmentIndex
段控件。我的猜测是在生成表格后正在释放单元格。我使用以下代码获取值:
MyCustomCell *q1 = (MyCustomCell *)[tableView cellForRowAtIndexPath:[NSIndexPath indexPathWithIndex:0]];
int segmentIndex = (int) q1.segmentedController.selectedSegmentIndex;
无论所选索引是什么,int segmentIndex
总是给出0
的相同值。
答案 0 :(得分:4)
您必须使用正确的方法初始化您想要使用的部分和行的索引路径,否则将无法正确设置row
和section
属性,并且您将获得相同的单元格每次:
+(NSIndexPath *)indexPathForRow:(NSUInteger)row inSection:(NSUInteger)section;
。
代码如下:
// getting the cell at third row of first section
NSIndexPath *ip = [NSIndexPath indexPathForRow:2 inSection:0];
MyCustomCell *q1 = (MyCustomCell *)[tableView cellForRowAtIndexPath:ip];
int segmentIndex = (int) q1.segmentedController.selectedSegmentIndex;
您还可以参考:NSIndexPath UIKit Additions Reference了解更多信息。