首页 > 解决方案 > uitextView 中的粗体和非粗体文本 - iOS

问题描述

我正在使用 uitextview 来显示一些细节。我需要实现如下文本格式。

如何 ?

一些文字

谁?

一些文字

带问号的文字应为粗体,其他文字正常。与 textview 中的其他文本相同

我正在处理具有相同格式的多种语言文本。

有人可以帮助我了解如何在 Xamarin iOS 文本视图中获取这种格式。谢谢 !!

标签: xamarin.iosuitextview

解决方案


您可以使用NSAttributedString自定义字符串格式:

public override void ViewDidLoad ()
{
    base.ViewDidLoad ();
    // Perform any additional setup after loading the view, typically from a nib.

    var textV = new UITextView(new CGRect(100, 100, 300, 300));

    var myMutableString = new NSMutableAttributedString("How ? \n Some text \n Who ? \n Some text");

    var range1 = myMutableString.MutableString.LocalizedStandardRangeOfString(new NSString("How ?"));
    var range2 = myMutableString.MutableString.LocalizedStandardRangeOfString(new NSString("Who ?"));

    var range3 = myMutableString.MutableString.LocalizedStandardRangeOfString(new NSString("Some text"));

    myMutableString.AddAttribute(UIStringAttributeKey.Font, UIFont.SystemFontOfSize(24), range1);
    myMutableString.AddAttribute(UIStringAttributeKey.Font, UIFont.SystemFontOfSize(24), range2);

    myMutableString.AddAttribute(UIStringAttributeKey.Font, UIFont.SystemFontOfSize(14), range3);

    textV.AttributedText = myMutableString;
    View.AddSubview(textV);
}

结果如下:

在此处输入图像描述


推荐阅读