我有一个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
文本转换为粗体字体并将其他信息保留为普通文本字体。根据我目前的方法,这可能吗?
答案 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;