CoreText是一个高效处理字符和字形转换和进行文字排版的框架,API基于C语言。 当我们需要排版时,可以对字符串设置各种格式,生成NSAttributeString; 然后用NSAttributeString去创建CTFramesetter类,CTFramesetter会处理排版信息,然后生成排版后的结果CTFrame; CTFrame是一段或者多段文本,每段文本又由多行文字组成,每行的表示为...
从图中可看出CoreText坐标系是以左下角为坐标原点,而我们常使用的UIKit是以左上角为坐标原点,因此在CoreText中的布局完成后需要对其坐标系进行转换,否则直接绘制出现位置反转的镜像情况。在通常情况下我们一般做法是直接获取当前上下文。并将当前上下文的坐标系转换为CoreText坐标系,再将布局好的CoreText绘制到当前上下文中...
CoreText是iOS平台上的一个高级文本处理框架,它提供了低级别的文本字形和布局功能。与UIKit中的UILabel或UITextView相比,CoreText在文本绘制方面更为灵活,并且可以处理大量文本的渲染。通过CoreText,我们可以实现自定义的排版、样式和文本效果。 CoreText基本概念 在使用CoreText绘制文本之前,我们需要了解一些基本概念。 CTFon...
CoreText是Apple系统的文字渲染引擎。 我们先看一个字符的字形图,了解一下一个字形包含的部分: 它的坐标系为窗口的左下角为视图的原点(跟Mac系统一样的坐标系),而iOS系统的坐标系为窗口的左上角为视图的原点。因此我们在使用CoreText进行绘制文字时,需要对其坐标系进行转换,转换方法如下: CGContextTranslateCTM(cont...
CoreText.CTFont 类型的类型标识符。 GetVariation() 代表CoreText 字体。 GetVariationAxes() 代表CoreText 字体。 GetVerticalTranslationsForGlyphs(UInt16[], CGSize[], nint) 代表CoreText 字体。 ToCGFont() 代表CoreText 字体。 ToCGFont(CTFontDescriptor) 代表CoreText 字体。 ToString() 代表CoreText 字体。
使用CoreText进行NSAttributedString的绘制,最重要的两个概念就是CTFrameSetter和CTFrame。他们的关系如下: 其中CTFramesetter是由CFAttributedString(NSAttributedString)初始化而来,可以认为它是CTFrame的一个Factory,通过传入CGPath生成相应的CTFrame并使用它进行渲染:直接以CTFrame为参数使用CTFrameDraw绘制或者从CTFrame中获取CTLine...
CTFontCollectionOptions.RemoveDuplicates 属性 参考 反馈 本文内容 定义 适用于 定义 命名空间: CoreText 程序集: Xamarin.iOS.dll 如果设置,则删除重复的字体描述符。 C# 复制 public bool RemoveDuplicates { get; set; } 属性值 Boolean 适用于 产品版本 Xamarin iOS SDK 12 ...
CoreText 程序集: Xamarin.iOS.dll 一个枚举,其值指定换行选项。 C# publicenumCTLineBreakMode 继承 Enum CTLineBreakMode 字段 名称值说明 WordWrapping0 CharWrapping1 Clipping2 TruncatingHead3 TruncatingTail4 TruncatingMiddle5 适用于 产品版本 Xamarin iOS SDK12 ...
命名空间: CoreText 程序集: Xamarin.iOS.dll 一个枚举,其值指定 s 的选项 CTUnderlineStyle。 C# 复制 public enum CTUnderlineStyleModifiers 继承 Enum CTUnderlineStyleModifiers 字段 展开表 名称值说明 PatternSolid 0 PatternDot 256 PatternDash 512 PatternDashDot 768 PatternDashDotDot 1024 ...