我有一个带有标题部分的表视图,里面有一个分段控件。当我选择第二段时,在毫秒之后,它会自动返回到第一段。为什么呢?
我的代码:
-(UIView *) tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
static NSString *CellIdentifier = @"Header";
UITableViewCell *headerView = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (headerView == nil){
[NSException raise:@"headerView == nil.." format:@"No cells with matching CellIdentifier loaded from your storyboard"];
}
UISegmentedControl *segmentedControl = (UISegmentedControl *)[headerView viewWithTag:123];
[segmentedControl addTarget:self action:@selector(typeChanged:) forControlEvents:UIControlEventValueChanged];
return headerView;
}
-(void)typeChanged:(id)sender{
UISegmentedControl *segment=(UISegmentedControl*)sender;
NSLog(@"index %li",(long)segment.selectedSegmentIndex);
}
由于
答案 0 :(得分:0)
我建议不要用这种方式编写代码,有点像黑客代码 看看你的代码,当tableView刷新节头时,它调用函数,headerView不会是nil,因为tableView为你创建一个新的,显然它的选择是第一个段。