NSTextContainer 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
为文本工具包中页面的几何布局建模。
[Foundation.Register("NSTextContainer", true)]
[ObjCRuntime.Introduced(ObjCRuntime.PlatformName.iOS, 7, 0, ObjCRuntime.PlatformArchitecture.All, null)]
public class NSTextContainer : Foundation.NSObject, Foundation.INSCoding, IDisposable, UIKit.INSTextLayoutOrientationProvider
type NSTextContainer = class
inherit NSObject
interface INSCoding
interface INativeObject
interface IDisposable
interface INSTextLayoutOrientationProvider
- 继承
- 属性
- 实现
注解
iOS 7 引入了“文本工具包”,这是一组基于 构建的现有类的广泛 API 和修改,大大扩展了 iOS 的排版灵活性。
在其NSLayoutManager属性中TextContainers维护一个或多个 NSTextContainer的列表。 按 NSLayoutManager 顺序通过这些 NSTextContainer来布局文本。 通常,每个容器将交给将 UITextView 按顺序排列在显示图面上的 。 若要使文本从一个流动到另一个,第一个UITextViewUITextView的 P:UIKit.UITextView.ScrollEnabled 属性必须设置为 false
。
以下示例演示以两列格式排列的文本。
var storage = new NSTextStorage();
storage.SetString(attributedString);
var layoutManager = new NSLayoutManager();
storage.AddLayoutManager(layoutManager);
//NSTextContainer defines a logical block (page, column)
var leftHandContainer = new NSTextContainer(size);
layoutManager.AddTextContainer(leftHandContainer);
//Column 1
var leftHandView = new UITextView(new RectangleF(new PointF(padding, padding), new SizeF(UIScreen.MainScreen.Bounds.Width / 2 - padding * 2, UIScreen.MainScreen.Bounds.Height - padding * 2)), leftHandContainer);
leftHandView.BackgroundColor = UIColor.Green;
leftHandView.ScrollEnabled = false;
AddSubview(leftHandView);
//Column 2
var rightHandContainer = new NSTextContainer(size);
layoutManager.AddTextContainer(rightHandContainer);
var rightHandView = new UITextView(new RectangleF(new PointF(padding * 2 + size.Width, padding), size), rightHandContainer);
rightHandView.BackgroundColor = UIColor.Red;
AddSubview(rightHandView);
上图演示了两列布局中直接涉及的对象。 NSTextStorage是某些外部模型类的责任,双列用户界面由自定义UIView (TwoColumnView
) 指定。
在其NSTextContainer属性中包含ExclusionPaths零个或多个UIBezierPath对象的数组。 文本不会放置在这些路径中。
构造函数
NSTextContainer() |
默认构造函数初始化此类的新实例。 |
NSTextContainer(CGSize) |
创建一个新的 NSTextContainer ,其中边界矩形设置为 |
NSTextContainer(IntPtr) |
创建非托管对象的托管表示形式时使用的构造函数;由运行时调用。 |
NSTextContainer(NSCoder) |
从 unarchiver 对象中存储的数据初始化 对象的构造函数。 |
NSTextContainer(NSObjectFlag) |
用于调用派生类的构造函数,以跳过初始化并仅分配 对象。 |
属性
Class |
为文本工具包中页面的几何布局建模。 (继承自 NSObject) |
ClassHandle |
此类的句柄。 |
DebugDescription |
此对象的开发人员有意义的说明。 (继承自 NSObject) |
Description |
对象的说明,即 ToString 的 Objective-C 版本。 (继承自 NSObject) |
ExclusionPaths |
将从中排除文本的 UIBezierPath的 数组。 |
Handle |
处理指向非托管对象表示形式的 (指针) 。 (继承自 NSObject) |
HeightTracksTextView |
是否 NSTextContainer 更改其 Size 关联 UITextView 的大小。 |
IsDirectBinding |
为文本工具包中页面的几何布局建模。 (继承自 NSObject) |
IsProxy |
为文本工具包中页面的几何布局建模。 (继承自 NSObject) |
IsSimpleRectangularTextContainer |
获取一个布尔值,该值指示接收方的文本容器是否是具有文本视图确切方向的简单连接的矩形区域。 |
LayoutManager |
控制此 NSTextContainer 的 NSLayoutManager。 |
LayoutOrientation |
文本的布局方向。 |
LineBreakMode |
此 NSTextContainer 中最后一行的行为。 |
LineFragmentPadding |
在行片段矩形中嵌入文本的量(以磅为单位)。 默认值为 5.0 磅。 |
MaximumNumberOfLines |
接收器中可存储的最大行数。 |
RetainCount |
返回对象的当前 Objective-C 保留计数。 (继承自 NSObject) |
Self |
为文本工具包中页面的几何布局建模。 (继承自 NSObject) |
Size |
边界矩形的大小 NSTextContainer,而不考虑其区域的大小。 |
Superclass |
为文本工具包中页面的几何布局建模。 (继承自 NSObject) |
SuperHandle |
用于表示此 NSObject 基类中方法的句柄。 (继承自 NSObject) |
WidthTracksTextView |
是否 NSTextContainer 更改其 Size 关联 UITextView 的大小。 |
Zone |
为文本工具包中页面的几何布局建模。 (继承自 NSObject) |
方法
扩展方法
GetDebugDescription(INSObjectProtocol) |
为文本工具包中页面的几何布局建模。 |
GetAccessibilityCustomRotors(NSObject) |
获取适用于 |
SetAccessibilityCustomRotors(NSObject, UIAccessibilityCustomRotor[]) |
设置适用于 |