gpt4 book ai didi

ios - 处理 UISegmentedControl 上的点击

转载 作者:行者123 更新时间:2023-11-28 19:21:06 25 4
gpt4 key购买 nike

在我的 UITableView 第二部分的 UITableViewCell 中,我定义了一个由两个按钮组成的 UISegmentedControl:

if (indexPath.section == 1 && indexPath.row == 0)
{
cell.selectionStyle = UITableViewCellSelectionStyleNone;
cell.accessoryType = UITableViewCellAccessoryNone;

allerRetour = [[UISegmentedControl alloc] initWithItems: [NSArray arrayWithObjects:NSLocalizedString(@"Y aller", nil), NSLocalizedString(@"En partir", nil), nil]];
[allerRetour setFrame:CGRectMake(9.0f, 0.0f, 302.0f, 45.0f)];
allerRetour.selectedSegmentIndex = 0;
[cell addSubview:allerRetour];
}

return cell;

现在,当我点击分段控件中那两个按钮中的一个按钮时,我想跟踪它,所以我在 didSelectRowAtIndexPath 中尝试了这个,但它不起作用(NSLog 是不显示,所以不会抛出事件):

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
if(indexPath.section==1 && indexPath.row==0)
{
if (allerRetour.selectedSegmentIndex == 0)
{
labelModeRecherche.text=@"Départ";
NSLog(@"Départ");
}
else
{
labelModeRecherche.text=@"Arrivée";
NSLog(@"Arrivée");
}
}
}

最佳答案

单击实际分段控件不会导致 didSelectRowAtIndexPath。相反,您需要添加一个目标,如下所示:

[segmentedControl addTarget:self
action:@selector(action:)
forControlEvents:UIControlEventValueChanged];

并定义“action:”方法来响应事件。

- (void)action:(id)sender

然后把if里面的代码放到那个action方法里面。

关于ios - 处理 UISegmentedControl 上的点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8805335/

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