0

以下に示すように、サイズ 11 の NSArray があります。

labels = [NSMutableArray arrayWithObjects:@"DIN #",@"Brand Name",@"Full Name", @"Strength", @"Medication Type", @"Presciption ID", @"Next Dosage", @"Required Dosage", @"ada", @"dasdada", @"dasdasad", nil];

しかし、このコードを使用してテーブルビューセルにこの配列を表示しているとき。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {static NSString *CellIdentifier = @"Cell";
  UITableViewCell *cell = [tableView dueueReusableCellWithIdentifier:CellIdentifier];   
UILabel* nameLabel = nil;

if(cell == nil) {   cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];nameLabel = [[UILabel alloc] initWithFrame:CGRectMake( 7.0, 10.0, 160.0, 44.0 )];

    nameLabel.text =[labels objectAtIndex:indexPath.row]; 


    nameLabel.lineBreakMode = UILineBreakModeWordWrap;

    nameLabel.numberOfLines =0;
    [nameLabel sizeToFit];
    CGSize expectedlabelsize = [nameLabel.text sizeWithFont:nameLabel.font constrainedToSize:nameLabel.frame.size lineBreakMode:UILineBreakModeWordWrap];
    CGRect newFrame =nameLabel.frame;
    newFrame.size.height =expectedlabelsize.height;


   [cell.contentView addSubview: nameLabel];

return cell;}

O/Pは以下の通りです。

DIN

ブランド名

フルネーム

薬の種類

処方箋ID

次の投与量

必要な投与量

DIN

ブランド名

フルネーム

必要な投与量の後に再度参照してください DIN、ブランド名、フルネームの表示、すでに表示されているもの

4

1 に答える 1

1

viewWithTagメソッドを使用し、次のメソッドを使用しました。このようにしてみてください。お役に立てると思います。

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

    static NSString *CellIdentifier = @"myCell";
    UILabel* nameLabel = nil;
    UITableViewCell *cell = (UITableViewCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if(cell == nil)
    {

        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];

    }
    else
    {
        UILabel *titleLbl = (UILabel *)[cell viewWithTag:1];
        [titleLbl removeFromSuperview];
    }
    nameLabel = [[UILabel alloc] initWithFrame:CGRectMake( 7.0, 10.0, 160.0, 44.0 )];
    nameLabel.text = [labels objectAtIndex:indexPath.row];

    nameLabel.lineBreakMode = UILineBreakModeWordWrap;
    nameLabel.tag =1;
    nameLabel.numberOfLines =0;
    [nameLabel sizeToFit];
    CGSize expectedlabelsize = [nameLabel.text sizeWithFont:nameLabel.font constrainedToSize:nameLabel.frame.size lineBreakMode:UILineBreakModeWordWrap];
    CGRect newFrame =nameLabel.frame;
    newFrame.size.height =expectedlabelsize.height;
    [cell.contentView addSubview: nameLabel];
    return cell;
}
于 2012-05-17T07:11:19.733 に答える