0

いくつかを選択してUITableViewCell(チェックマークとして、しかし自分のスタイルで)、選択したアイテムで何かを行う方法は?

チェックマーク(または他の何か)として、私は使用したいと思いますUIImageView

ここに画像の説明を入力

4

3 に答える 3

1

Pandu1251 の回答に追加するには、独自のチェック マーク イメージを使用する場合は、カスタム アクセサリ ビューを設定し、彼が指定したのと同じロジックに従うことができます。

カスタム アクセサリ ビューを設定するには、次を使用します。

cell.accessoryView = myAccessoryView; //myAccessoryView is a UIImageView holding your custom check mark image
于 2013-03-06T11:19:56.590 に答える
0

次のようにしてください。そのためには、NSMutableArray を使用する必要があります。ここで arrMethodsToBeStored を取得しました。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"Cell";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

    if (cell == nil) {
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
    }

    [cell setSelectionStyle:UITableViewCellSelectionStyleNone];

    cell.textLabel.textColor=[UIColor darkGrayColor];
    cell.textLabel.font= [UIFont fontWithName:@"Arial Rounded MT Bold" size:15.0];

    Scope_RepairMethod *scpObj=[repairMethodArr objectAtIndex:indexPath.row];
    cell.textLabel.text= scpObj.strRepairMethod;

    if([self.checkedIndexPath isEqual:indexPath])
    {
        cell.accessoryType = UITableViewCellAccessoryCheckmark;
    }
    else
    {
        cell.accessoryType = UITableViewCellAccessoryNone;
    }

    return cell;
}

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
   // NSString *selID;

    UITableViewCell *newCell = [tableView cellForRowAtIndexPath:indexPath];

    Scope_RepairMethod *scpObj=[repairMethodArr objectAtIndex:indexPath.row];

    if (newCell.accessoryType == UITableViewCellAccessoryNone)
    {
        newCell.accessoryType = UITableViewCellAccessoryCheckmark;
        [arrMethodsToBeStored addObject:scpObj.strRepairMethod];
    }
    else
    {
        newCell.accessoryType = UITableViewCellAccessoryNone;
        [arrMethodsToBeStored removeObject:scpObj.strRepairMethod];
    }
    NSLog(@"selected method arr==== %@",arrMethodsToBeStored);


// I want to enable my save button only if one or more values from table are selected

    if(arrMethodsToBeStored.count > 0)
        saveBtn.enabled=true;
    else
    {
        saveBtn.enabled=false;
    }
}
于 2013-03-06T11:20:08.763 に答える
0

-(void)tableView:(UITableView *) tableView didSelectRowAtIndexPath: (NSIndexPath *) indexPath

{

UITableViewCell *thisCell = [tableView cellForRowAtIndexPath:indexPath];
if (thisCell.accessoryType == UITableViewCellAccessoryNone)
{
    thisCell.accessoryType = UITableViewCellAccessoryCheckmark;

}
else
{
  for(int i=0;i<[Array count];i++)
  {
    thisCell.accessoryType = UITableViewCellAccessoryNone;
  }

  thisCell.accessoryType = UITableViewCellAccessoryNone;
}

}

これを試してみてください......

于 2013-03-06T10:50:37.523 に答える