0

ラベルと imageView を持つカスタム セルを作成しました。カスタム セル セルには、識別子 CustomTableCell を持つクラス customCellClass があります。これは結果のスクリーン ショットです。データは渡されていませんが、カスタム テーブルが表示されます。

スクリーンショット

これは、配列 *name からデータを取得する .m ファイルです。私が欠けているものを見てください。ところで、[self.tableView reloadData]を試みています。viewdidload ではわかりませんが、それを開始することはできません。

@synthesize name = _name;
- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    self.name = [NSArray arrayWithObjects:@"First", @"Second", @"Third",@"First", @"Second", @"Third",@"First", @"Second", @"Third",@"First", @"Second", @"Third",@"First", @"Second", @"Third", nil];
//    self.name = [[NSArray alloc]initWithObjects:@"First", @"Second", @"Third", nil];


}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
    return [self.name count];

}

-(void) viewDidAppear:(BOOL)animated{

}

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
    return 1;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{

    static NSString *CellIdentifier = @"CustomTableCell";


    customCellClass *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    cell = [[customCellClass alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
    if (cell == nil) {

        NSArray *nib = [[NSBundle mainBundle]loadNibNamed:@"CustomTableCell" owner:self options:nil];
        cell = [nib objectAtIndex:0];
    }

    cell.nameLabel.text = [self.name objectAtIndex:indexPath.row];
    cell.imageThumb.image = [UIImage imageNamed:@"images.jpeg"];
    return  cell;


}

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    return 78;
}


@end

ところで、これは私が使用しているカスタムテーブルセルです

ここに画像の説明を入力

4

4 に答える 4

2

あなたはそうalloc initしてから、それをnilにチェックします...あなたの場合、これを決して渡さないでくださいif

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

        NSArray *nib = [[NSBundle mainBundle]loadNibNamed:@"CustomTableCell" owner:self options:nil];
        cell = [nib objectAtIndex:0];
    }

早くやれよ:

customCellClass *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
        if (cell == nil) {
            cell = [[customCellClass alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
            NSArray *nib = [[NSBundle mainBundle]loadNibNamed:@"CustomTableCell" owner:self options:nil];
            cell = [nib objectAtIndex:0];
        }
于 2013-08-16T12:07:35.453 に答える
0

これは、テーブルのカスタム セルに使用したもので、完全に機能します。

static NSString *CellIdentifier = @"CustomTableCell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

if (cell == nil) {
    cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
于 2013-08-16T12:07:16.100 に答える
0
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return [self.name count];
}


-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
    return 1;
}


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

    mycustomcell *cell = (mycustomcell *)[tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier];

    if (cell == nil)
    {
        NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"mycustomcell" owner:self options:nil];
        cell = [nib objectAtIndex:0];
        NSLog( @"NIB = %@",nib);
        NSLog( @"Cell = %@",cell);
    }

    cell.txtData.text=[NSString stringWithFormat:@"%@",[self  objectAtIndex:indexPath.row]];

            cell.imgThumb.image = [UIImage imageNamed:@"images.jpeg"];
            cell.txtData.enabled=NO;


    [cell setSelectionStyle:UITableViewCellSelectionStyleNone];
    return cell;
}

この希望のヘルプを試してください..

于 2013-08-16T12:09:25.123 に答える