1

我正在尝试将 UISwitch 添加到分组表视图中的单元格,但我没有得到正确的方法来执行此操作。请帮我。谢谢和问候, 查克里

4

3 回答 3

1

Set UISwitch button as accessory for UITableViewCell:

-(UITableViewCell*) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString* cellId = @"cellId";
    UITableViewCell* cellView = [self.tableView dequeueReusableCellWithIdentifier:cellId];
    if(!cellView) {
        cellView = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellId];
        UISwitch* switchBtn = [[UISwitch alloc] init];
        [switchBtn addTarget:self action:@selector(onSwitchBtn:) forControlEvents:UIControlEventValueChanged];
        cellView.accessoryView = switchBtn;
    }
    return cellView;
}
于 2012-09-03T08:18:02.740 回答
1

您可以将现有的(Objective-C)答案转换为 C#,但是,由于您使用的是 MonoTouch,因此您应该看看MonoTouch.Dialog(它是示例应用程序)。

它提供了一个更简单的 API,UITableView并且仍然涵盖了大多数需要表的常见用法/场景。

查看屏幕截图(来自上一个链接)以查看UISwitch在单元格中使用的情况。

于 2012-09-03T14:23:47.827 回答
0

您使用的是故事板还是 xibs?我认为在情节提要中,您可以将 UISwith 拖到单元格中。

如果您使用的是 xibs,您将需要一个自定义单元格。使用界面生成器将 UITableViewCell 拖到 tableview 外的 xib 中,将 UISwitch 拖到 UITableViewCell 内,然后在 UITableViewCell 中放置一个 IBOutlet,然后

 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
if (indexPath.row == rowWhereYouWantTheCellWithTheUISwitch){
    return UITableViewCellWithTheSwitchName;
}
}

rowWhereYouWantTheCellWithTheUISwitch 是您想要自定义单元格的单元格的编号。UITableViewCellWithTheSwitchName 是您创建的 IBOutlet 的名称。

于 2012-09-03T08:03:11.893 回答