Ich versuche, die Höhe eines UILabel
je nachdem, wie viel Text in der Bezeichnung ist zu ändern.UILabel ändert nicht die Höhe auf setFrame
Ich kann die Größe für das Etikett berechnen, aber wenn ich versuche, den UILabel
Rahmen zu setzen, ändert es sich einfach nicht.
Unten ist mein Code. Auch wenn ich Size.height in der letzten Zeile zu so etwas wie 500 die Größe des UILabel
Rahmen ersetzen nicht ändert
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *simpleTableIdentifier = @"GameItemCell";
GameItemCell *cell = (GameItemCell *)[tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier];
NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"GameItemCell" owner:self options:nil];
cell = [nib objectAtIndex:0];
GameItem* item = [_hunt.gameItems objectAtIndex: indexPath.row];
cell.itemHeaderLabel.text = [NSString stringWithFormat:@"#%d - (%d pts)", indexPath.row+1, item.itemPoints];
UILabel* textLabel = cell.itemTextLabel;
textLabel.text = item.itemText;
textLabel.lineBreakMode = NSLineBreakByWordWrapping;
CGRect frame = cell.itemTextLabel.frame;
CGSize textSize = { frame.size.width, 20000.0f };
CGSize sizeOneLine = [@"one line" sizeWithFont:cell.itemTextLabel.font constrainedToSize:textSize lineBreakMode:NSLineBreakByWordWrapping];
CGSize cellTextSize = [item.itemText sizeWithFont:cell.itemTextLabel.font constrainedToSize:textSize lineBreakMode:NSLineBreakByWordWrapping];
CGSize sizeOneLineSpacing = CGSizeMake(sizeOneLine.width, sizeOneLine.height + 3);
NSInteger lines = cellTextSize.height/sizeOneLine.height;
CGSize size = CGSizeMake(frame.size.width, lines * sizeOneLineSpacing.height);
textLabel.frame = CGRectMake(frame.origin.x, frame.origin.y, size.width, size.height);
return cell;
}
überprüfen, ob Ihre textlabel Variable ist nicht gleich Null, wenn Sie versuchen, die festlegen Rahmen? – Vladimir
Fügen Sie das Label in der Tabellenansichtszelle hinzu? und überprüfen Sie auch TextLabel-Referenz ist Null (Print TextLabel mit NSLog). – Madhumitha