gpt4 book ai didi

iphone - 将分段控件插入标题 View 时出现问题

转载 作者:行者123 更新时间:2023-12-03 21:23:28 25 4
gpt4 key购买 nike

我正在尝试在我的表格 View 中添加 UISegmentedControl。我的表格 View 中有两个部分,我希望将分段控件放置在第二部分中。在我的实现中,我按如下方式重写 viewForHeaderInSection。

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {

if (section == 1)
{
UIView *headerView = [[[UIView alloc] initWithFrame:CGRectMake(10, 0,tableView.bounds.size.width, 10)] autorelease];
NSArray *segmentTextContent = [NSArray arrayWithObjects:NSLocalizedString(@"Singles", @""), NSLocalizedString(@"Everyone", @""),nil];
UISegmentedControl *segmentedControl = [[[UISegmentedControl alloc] initWithItems:segmentTextContent] autorelease];
segmentedControl.selectedSegmentIndex = 1;
segmentedControl.autoresizingMask = UIViewAutoresizingFlexibleWidth;
segmentedControl.segmentedControlStyle = UISegmentedControlStyleBar;
segmentedControl.frame = CGRectMake(0, 0, tableView.bounds.size.width+10, 20);
[segmentedControl addTarget:self action:@selector(loadTable:) forControlEvents:UIControlEventValueChanged];
[headerView addSubview:segmentedControl];
return headerView;
}
else
{
UIView *headerView = [[[UIView alloc] initWithFrame:CGRectMake(10, 0,tableView.bounds.size.width, 10)] autorelease];
return headerView;
}

}

我的问题是,一旦我选择了特定段,它似乎就没有被选择。即它没有像预期那样变成深色。我之前已将分段控件放置在导航栏中,并在选择后按预期为分段着色。

任何帮助将不胜感激。谢谢

最佳答案

这是一个迟到的 react ,但我遇到了同样的问题并找出了问题所在。在上面的代码中,每次 tableView 调用 reloadData 时都会重新创建 headerView(这在我的情况下是在我基于对分段控件的单击重新调用数据之后发生的),因此分段控件返回到其原始状态,并且触摸并不明显反射(reflect)。

为了解决这个问题,我将segmentedControl设为一个ivar,并检查它是否已经存在。如果是这样,那么只需调用

[headerView addSubview: segmentedControl];

否则进行控件的整个设置。

希望这有帮助。

关于iphone - 将分段控件插入标题 View 时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2718956/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com