Jak mogę zwiększyć rozmiar drugiej komórki, aby dopasować ją do tekstu, zamiast skalować tekst? Czy jest to wbudowane w iOS, czy będę musiał wymyślić jakieś domowe rozwiązanie? Jeśli spojrzysz w aplikacji Kontakty na iOS, w polu adresu znajduje się takie pole. Nie mogę jednak znaleźć sposobu na wdrożenie tego.Jak utworzyć wielowierszową komórkę tabeli w systemie iOS?
Dla każdego, kto chce osiągnąć w przyszłości, oto kod dla mojego rozwiązania:
pliku nagłówka: plik
#define FONT_SIZE 22.0f
#define CELL_CONTENT_WIDTH 320.0f
#define CELL_CONTENT_MARGIN 5.0f
REALIZACJA:
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
if (indexPath.section == 0 && indexPath.row == 1) {
NSString *text = [atmAnnotation address];
CGSize constraint = CGSizeMake(CELL_CONTENT_WIDTH - (CELL_CONTENT_MARGIN * 2), 20000.0f);
CGSize size = [text sizeWithFont:[UIFont systemFontOfSize:FONT_SIZE] constrainedToSize:constraint lineBreakMode:UILineBreakModeWordWrap];
NSLog(@"Size for address is Height:%f Width:%f",size.height,size.width);
CGFloat height = MAX(size.height, 44.0f);
return height + (CELL_CONTENT_MARGIN * 2);
}
return 44.0f;
}
Oto zrzut ekranu z wynikiem: