Domanda

Sono nuovo di development.I iphone sto analisi di un file XML e visualizzare il titolo, la data, visualizzare e sintesi in ogni riga di un contenuto table.The di summar è grande, quindi solo i primi 3 parole vengono visualizzati nella cella .come posso aumentare l'altezza della riga rispetto alla lunghezza della contents.All contenuto deve adattarsi correttamente all'interno della cellula e intero contenuto deve essere displayed.Please aiutami out.Thanks.

È stato utile?

Soluzione

È possibile farlo nel vostro tableView.delegate / origine dati:

- (CGFloat)tableView:(UITableView *)aTableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
   switch (indexPath.row){
       case 0:
         if(indexPath.section==0)
            return 123.0; // first row is 123pt high
       default:
         return 40.0; // all other rows are 40pt high 
   }
}

Ciò tuttavia rallentare le prestazioni di scorrimento. Idealmente si dovrebbe impostare l'altezza di tutte le righe siano identici utilizzando tableview.rowHeight.

Altri suggerimenti

(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    NSString *text = @"write your dynamic text here";
    UIFont *cellFont = [UIFont fontWithName:@"Helvetica" size:14.0];
    CGSize constraintSize = CGSizeMake(320.0f, 999);  // Make changes in width as per your label requirement. 

    CGSize textSize = [text sizeWithFont:cellFont constrainedToSize:constraintSize lineBreakMode:UILineBreakModeWordWrap];

    return  textSize.height;
}

se avete Tableview multiplo in un controller di vista, si può fare per ogni diversa vista tabella come metodo di seguito.

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{

    if (tableView == self.tableViewCampaigns) {

        return 45;
    }else if(tableView == self.tableViewAgenda)
        return 32;
    else
        return 29;
}

Un modo per farlo è quello di impostare manualmente la dimensione della cella. Basta sostituire ROW_HEIGHT con qualcosa di adatto.

cell.frame = CGRectMake(0.0, 0.0, 320.0, ROW_HEIGHT);

Prova a usare questo delegati, che gestisce automaticamente in base al contenuto della cella.

 func tableView(_ tableView: UITableView, estimatedHeightForRowAt indexPath: IndexPath) -> CGFloat {
            return 100
        }

        func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
            return UITableViewAutomaticDimension
        }
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top