NSTextContainer 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
在 Text Kit 中建模頁面的幾何版面配置。
[Foundation.Register("NSTextContainer", true)]
public class NSTextContainer : Foundation.NSObject, AppKit.INSTextLayoutOrientationProvider, Foundation.INSSecureCoding, IDisposable
[<Foundation.Register("NSTextContainer", true)>]
type NSTextContainer = class
inherit NSObject
interface INSCoding
interface INativeObject
interface IDisposable
interface INSSecureCoding
interface INSTextLayoutOrientationProvider
- 繼承
- 屬性
- 實作
備註
iOS 7 引入了「Text Kit」,這是一套廣泛的 API 與現有類別的修改, CoreText基於 ,大幅擴展了 iOS 的排版彈性。
A NSLayoutManager 在其屬性中維護一個或多個 NSTextContainers 的 TextContainers 列表。 這些 NSLayoutManager s 會依序排列文字 NSTextContainer。 通常,每個容器會依 NSTextView 序擺放在展示台上。
以下範例展示了以兩欄格式排版的文字。
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 CGRect(new CGPoint(padding, padding), new CGSize(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 CGRect(new CGPoint(padding * 2 + size.Width, padding), size), rightHandContainer);
rightHandView.BackgroundColor = UIColor.Red;
AddSubview(rightHandView);


前圖說明了直接參與雙欄佈局的物件。 由NSTextStorage某個外部模型類別負責,而兩欄使用者介面則由自訂NSViewTwoColumnView()指定。
A NSTextContainer 的屬性中包含一個包含零個或多個 NSBezierPath 物件 ExclusionPaths 的陣列。 文字不會置於這些路徑中。
建構函式
| 名稱 | Description |
|---|---|
| NSTextContainer() |
建立一個預設值的新版本 NSTextContainer 。 |
| NSTextContainer(CGSize) |
在 Text Kit 中建模頁面的幾何版面配置。 |
| NSTextContainer(NativeHandle) |
一種用於建立未受管理物件的受管理表示的建構器。 由執行時呼叫。 |
| NSTextContainer(NSCoder) |
一個建構器,能從未封存物件中儲存的資料初始化物件。 |
| NSTextContainer(NSObjectFlag) |
用來呼叫衍生類別跳過初始化,僅僅配置物件。 |
屬性
| 名稱 | Description |
|---|---|
| Class |
在 Text Kit 中建模頁面的幾何版面配置。 (繼承來源 NSObject) |
| ClassHandle |
Objective-C 類別是這個類別的處理方式。 |
| ContainerSize |
在 Text Kit 中建模頁面的幾何版面配置。 |
| DebugDescription |
在 Text Kit 中建模頁面的幾何版面配置。 (繼承來源 NSObject) |
| Description |
在 Text Kit 中建模頁面的幾何版面配置。 (繼承來源 NSObject) |
| ExclusionPaths |
一個包含 s 的陣列 NSBezierPath,文字將被排除在其中。 |
| ExposedBindings |
在 Text Kit 中建模頁面的幾何版面配置。 (繼承來源 NSObject) |
| Handle |
Handle(指標)指向未管理物件表示。 (繼承來源 NSObject) |
| HeightTracksTextView |
不管是 NSTextContainer 變動 Size 還是因為它關聯 NSTextView 的大小都會被調整。 |
| IsDirectBinding |
取得或設定一個值,指示此實例是否使用直接 Objective-C 綁定。 (繼承來源 NSObject) |
| IsProxy |
在 Text Kit 中建模頁面的幾何版面配置。 (繼承來源 NSObject) |
| IsSimpleRectangularTextContainer |
會得到一個布林值,判斷接收者的文字容器是否是一個單連通的矩形區域,且其方向與文字視圖完全相同。 |
| LayoutManager |
在 Text Kit 中建模頁面的幾何版面配置。 |
| LayoutOrientation |
在 Text Kit 中建模頁面的幾何版面配置。 |
| LineBreakMode |
在 Text Kit 中建模頁面的幾何版面配置。 |
| LineFragmentPadding |
文字插入行片段矩形的數量(以點為單位)。 預設是5.0分。 |
| MaximumNumberOfLines |
接收器中可儲存的最大線數。 |
| RetainCount |
在 Text Kit 中建模頁面的幾何版面配置。 (繼承來源 NSObject) |
| Self |
在 Text Kit 中建模頁面的幾何版面配置。 (繼承來源 NSObject) |
| Size |
在 Text Kit 中建模頁面的幾何版面配置。 |
| Superclass |
在 Text Kit 中建模頁面的幾何版面配置。 (繼承來源 NSObject) |
| SuperHandle |
用 handle 表示此 NSObject基底類別中的方法。 (繼承來源 NSObject) |
| TextLayoutManager |
在 Text Kit 中建模頁面的幾何版面配置。 |
| TextView |
在 Text Kit 中建模頁面的幾何版面配置。 |
| WidthTracksTextView |
不管是 NSTextContainer 變動 Size 還是因為它關聯 NSTextView 的大小都會被調整。 |
| Zone |
在 Text Kit 中建模頁面的幾何版面配置。 (繼承來源 NSObject) |