0

3つのセクションと異なる行を持つuiTableViewがあり、3番目のセクションにチェックボックスを追加したいのですが、

カスタムセルを作成し、imgとlabelをリンクします

この写真のように:

![ここに画像の説明を入力してください] [1]

カスタムセルのコードは次のとおりです。

.h

: UITableViewCell
@property (strong, nonatomic) IBOutlet UIImageView *checkBox;
@property (strong, nonatomic) IBOutlet UILabel *absenceCode;

@end

.m

@synthesize checkBox;
@synthesize absenceCode;

- (id)initWithCoder:(NSCoder *)coder
{
self = [super initWithCoder:coder];
if (self) {
    // Initialization code
      checkBox.image = [UIImage imageNamed:@"emptycheck-box.png"];
}
return self;
}

@終わり

およびUITableViewControllerviewDidLoadのコード

- (void)viewDidLoad
{
[super viewDidLoad];
NSMutableArray *keys = [[NSMutableArray alloc] init];
NSMutableDictionary *contents = [[NSMutableDictionary alloc] init];


NSString *staKey = @"Start";
NSString *endKey = @"End";
NSString *absKey= @"Absence";

[contents setObject:[NSArray arrayWithObjects:@"Time: 08:00 Date: Fri,3 Aug, 2012", nil] forKey:staKey];
[contents setObject:[NSArray arrayWithObjects:@"Time: 17:57 Date: Fri,3 Aug, 2012", nil] forKey:endKey];
[contents setObject:[NSArray arrayWithObjects:@"Red",@"Black",@"Blue", nil] forKey:absKey];


[keys addObject:staKey];
[keys addObject:endKey];
[keys addObject:absKey];


[self setSectionKeys:keys];
[self setSectionContents:contents];

}

cellForRowAtIndexPath:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
NSString *key = [[self sectionKeys] objectAtIndex:[indexPath section]];
NSArray *contents = [[self sectionContents] objectForKey:key];
NSString *contentForThisRow = [contents objectAtIndex:[indexPath row]];

CheckBoxTableViewCell *cell = (CheckBoxTableViewCell*)[tableView 
dequeueReusableCellWithIdentifier:@"CheckBoxTableViewCell"];

        cell.imageView.image=[UIImage imageNamed:@"emptycheck-box.png"];




cell.checkBox.image = image;
cell.absenceCode.text =@"Redddd";
cell.text =contentForThisRow;
return cell;

 }

助けてくれませんかよろしくお願いします!

4

1 に答える 1

0

次のようなものはあなたが望むことをするはずです。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 
    NSString *key = [[self sectionKeys] objectAtIndex:[indexPath section]]; 
    NSArray *contents = [[self sectionContents] objectForKey:key]; 
    NSString *contentForThisRow = [contents objectAtIndex:[indexPath row]]; 

    if (indexPath.section != 2) {
            //Set up default cell here.
            UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier
            cell.textLabel.text =contentForThisRow;
            return cell;
    }
    else {
            CheckBoxTableViewCell *cell = (CheckBoxTableViewCell*)[tableView dequeueReusableCellWithIdentifier:@"CheckBoxTableViewCell"];

            cell.imageView.image=[UIImage imageNamed:@"emptycheck-box.png"];
            cell.checkBox.image = image;
            cell.absenceCode.text =@"Redddd";
            return cell;
    }
} 
于 2012-08-08T12:09:56.393 に答える