1

カスタムセルを含むテーブルビューがあり、カスタムセルにuibuttonsがあります。残りのセル以外のボタンを選択すると、すべてのセルがグレーアウトまたは無効になる可能性があります。

// テーブルビュー クラスのコード

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section;
{
NSLog(@"No OF rows:%d",[contents count]);
return [contents count];

}

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

static NSString *cellIdentifier = @"cell";

// Try to retrieve from the table view a now-unused cell with the given identifier.
cell = (uploadCustomCell *)[tableView    dequeueReusableCellWithIdentifier:@"uploadCustomCell"];
if (cell == nil) {
    NSLog(@"cell allocated");
    // Use the default cell style.

    cell = [[uploadCustomCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"uploadCustomCell"];
    NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"uploadCustomCell"
                                                        owner:self options:nil];


  cell = [nib objectAtIndex:0];
}
   saveBtnCcell.hidden = YES;
   cell.textNamefield.hidden = YES;
 [cell setSelectionStyle:UITableViewCellSelectionStyleNone];
[cell.defaultSwitch setEnabled:NO];
   dictionaryContents = [contents objectAtIndex:indexPath.row];
   NSLog(@"dict dict :%@",dictionaryContents);
  //

   cell
.nameLabelCell.text   = [dictionaryContents valueForKey:@"VideoName"];
    cell.userName.text = [dictionaryContents valueForKey:@"User"];
  NSLog(@"Array Image:%@",arrayimage);
  cell.thumbImg.image = [arrayimage objectAtIndex:indexPath.row];
   NSLog(@"ARimage:%@,index%d",[arrayimage objectAtIndex:indexPath.row],indexPath.row);
   NSString *defaultVideo = [dictionaryContents valueForKey:@"DefaultVideo"];
NSLog(@"Default Video:%@",defaultVideo);
if ([defaultVideo isEqual: @"1"]) {
    //        [cell.defaultSwitch setOn:YES animated:YES];
    [defaultSwitche setOn:YES animated:YES];

}
else{
      //        [cell.defaultSwitch setOn:NO animated:YES];
    [defaultSwitche setOn:NO animated:YES];
}

   [cell.defaultSwitch addTarget:self action:@selector(setState:) forControlEvents:UIControlEventValueChanged];



VideoNameTextField.hidden = YES;

   return cell;


}

// customcell のコード

  @interface uploadCustomCell (){
UploadAllViewController *uploadAll;
}

@end
@implementation uploadCustomCell
@synthesize textNamefield;
@synthesize savebtn,edit,nameLabelCell,textLabel,uploadBTN;
@synthesize defaultSwitch;
//@synthesize uploadAll;
- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
if (self) {
    // Initialization code
}
return self;
}

- (void)setSelected:(BOOL)selected animated:(BOOL)animated
{
[super setSelected:selected animated:animated];

// Configure the view for the selected state
}


- (void)dealloc {
[_userName release];

[_thumbImg release];

  //[savebtn release];
[textNamefield release];
[nameLabelCell release];
[_test release];

[savebtn release];
[defaultSwitch release];
[uploadBTN release];
[super dealloc];
}


- (IBAction)editAction:(id)sender {
[uploadBTN setEnabled:NO];
uploadAll = [[UploadAllViewController alloc]init];
CGPoint buttonPosition = [sender convertPoint:CGPointZero toView:uploadAll.tabelView1];
NSIndexPath *indexPath = [uploadAll.tabelView1 indexPathForRowAtPoint:buttonPosition];
int no = indexPath.row;
NSLog(@"index path :%d",no);
[uploadAll didEditButtonPressed:self];

}
- (IBAction)saveBtnAction:(id)sender {
 [uploadBTN setEnabled:YES];
[uploadAll didSaveButtonPressed:self];
}

この editAction: を選択すると、セルの残りのセルはグレーアウトする必要があります。

4

1 に答える 1