gpt4 book ai didi

iOS - 如何以编程方式向 UITableView 添加两行开关?

转载 作者:行者123 更新时间:2023-11-29 04:57:12 25 4
gpt4 key购买 nike

我是一名 iOS 开发新手。我正在尝试使用以下代码以编程方式将两个开关添加到表中 -

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{

static NSString *CellIdentifier = @"Cell";

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier] autorelease];
}
if(indexPath.section== 0){

fooddrinkSettingSwitch=[[[UISwitch alloc] initWithFrame:CGRectZero] autorelease];


[fooddrinkSettingSwitch addTarget:self action:@selector(preferenceSettingAction:) forControlEvents:UIControlEventValueChanged];
[cell addSubview:fooddrinkSettingSwitch];
cell.accessoryView = fooddrinkSettingSwitch;

apparelSettingSwitch=[[[UISwitch alloc] initWithFrame:CGRectZero] autorelease];


[apparelSettingSwitch addTarget:self action:@selector(preferenceSettingAction:) forControlEvents:UIControlEventValueChanged];
[cell addSubview:apparelSettingSwitch];
cell.accessoryView = apparelSettingSwitch;
cell.selectionStyle = UITableViewCellSelectionStyleNone;
}


//get the dictionary object
NSDictionary *dictionary = [listOfItems objectAtIndex:indexPath.section];
NSArray *array = [dictionary objectForKey:@"SettingTitle"];
NSString *cellValue = [array objectAtIndex:indexPath.row];
cell.textLabel.text = cellValue;

return cell;
}

但是,它将 Food & Drink 显示为开关,将 Apparel 显示为链接。我做错了什么?

最佳答案

您的方法的一个问题是 UITableViewCell 只能有一个 accessoryView。您可能想要创建 UITableViewCell 的自定义子类来实现您想要的目标。

关于iOS - 如何以编程方式向 UITableView 添加两行开关?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7717648/

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