如何对齐AttributedText?

Ein*_*din 3 xamarin.ios

我有一个包含属性文本的UITextView。我正在尝试将其居中(因为文本已归因,所以textView.TextAlignment不起作用)。

我能怎么做 ?我尝试了这个:

var attributes = new CTStringAttributes() { };
var paragraphStyleSettings = new CTParagraphStyleSettings() { Alignment = CTTextAlignment.Center };
attributes.ParagraphStyle = new CTParagraphStyle(paragraphStyleSettings);
textView.AttributedText = attributedString;
Run Code Online (Sandbox Code Playgroud)

但是我得到以下崩溃: Foundation.MonoTouchException - NSInvalidArgumentException [NSCFType textBlocks]: unrecognized selector sent to instance ... 在此处输入图片说明

所以我猜这不是应该使用CTParagraphStyleSettings的正确方法吗?但是我找不到与Xamarin语法一起使用的任何示例...如何设置文本的水平对齐方式?

Jos*_*ann 5

在Swift中,您将使用UIKit类代替CoreText:

    let paragraphStyle = NSMutableParagraphStyle()
    paragraphStyle.alignment = .center
    let attributes = [NSParagraphStyleAttributeName: paragraphStyle, NSForegroundColorAttributeName : UIColor.gray, NSFontAttributeName : UIFont(name: "Helvetica", size: 18)!]
    let attributedString = NSAttributedString(string: "some text", attributes: attributes)
Run Code Online (Sandbox Code Playgroud)

我不是Xamarin程序员,我的C#生锈了,但Xamarin具有等效的功能

  • 谢谢 !如果有人在寻找相同的东西,则使用Xamarin语法:段落样式。对齐= UITextAlignment.Center; attribute.ParagraphStyle =段落样式;` (5认同)