如何格式化单元格文本标签的某些单词

时间:2016-06-22 19:54:16

标签: c# ios swift xamarin fonts

我有一个xamarin iOS项目,我正在显示一个包含x行文本的单元格。我目前定义我的单元格如下:

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;

        ...
    }

显示单元格如下:

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

我希望能够将Bold文本转换为粗体字体并将其他信息保留为普通文本字体。根据我目前的方法,这可能吗?

3 个答案:

答案 0 :(得分:2)

你可以这样做:

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

您可以更改字体大小和颜色。

答案 1 :(得分:0)

只是看看你对UITableViewCell的使用情况,我来到了following - 看起来你可以通过NSAttributedString来操纵文字

答案 2 :(得分:0)

感谢Santos的回答!以下是我最终在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;