Come formattare determinate parole dell’etichetta di testo di una cella

Ho un progetto iOS xamarin in cui sto visualizzando una cella con x righe di testo. Attualmente definisco le mie cellule in questo modo:

public override UITableViewCell GetCell (UITableView tableView, Foundation.NSIndexPath indexPath) { UITableViewCell cell = tableView.DequeueReusableCell ("cells"); ... cell.TextLabel.Lines = 0; cell.TextLabel.Text = "Bold: " + info1 + "Bold: " + info2; ... } 

Che mostra la cella come:

  +----------------------+ |Bold: Testing | |Bold: Testing2 | +----------------------+ 

Voglio essere in grado di trasformare solo il testo in grassetto con il carattere in grassetto e mantenere le altre informazioni in caratteri di testo normali. È ansible questo dato il mio approccio attuale?

Potresti fare così:

 let attributedText = NSMutableAttributedString(string: "YOUR FIRST TEXT STRING", attributes: [NSFontAttributeName: UIFont.boldSystemFontOfSize(20.0), NSForegroundColorAttributeName: UIColor.redColor()]) let anotherString = NSAttributedString(string: "YOUR SECOND TEXT STRING", attributes: [NSFontAttributeName: UIFont.systemFontOfSize(20.0), NSForegroundColorAttributeName: UIColor.blueColor()]) attributedText.appendAttributedString(anotherString) cell.TextLabel.AttributedText = attributedText 

Puoi modificare la dimensione del carattere e il colore.

Solo guardando il tuo utilizzo di UITableViewCell , sono venuto a conoscenza di quanto segue : sembra che tu possa essere in grado di manipolare il testo tramite NSAttributedString

Grazie a Santos per la risposta! Ecco cosa ho usato per farlo funzionare su xamarin/c# :

 var attributedText = new NSMutableAttributedString("Bold:", font: UIFont.BoldSystemFontOfSize(17f)); var infoText = new NSAttributedString(info); var bold2 = new NSAttributedString("\nBold: ", font: UIFont.BoldSystemFontOfSize(17f)); var infoText2 = new NSAttributedString(info2); attributedText.Append(infoText); attributedText.Append(bold2); attributedText.Append(infoText2); cell.TextLabel.AttributedText = attributedText;