我需要知道TextKit
NSTextContainer
size
何时发生变化,因此我可以更新NSLayoutManager
中的一些缓存。如何在size
更改时收到通知? TextKit
一般(和NSTextContainer
' s size
属性)是否支持KVO?我查看了NSTextContainer.h
标题和NSTextContainer
documetation,但无论如何我都找不到任何相关信息。
答案 0 :(得分:1)
NSTextContainer
当NSLayoutManager
的大小或形状发生变化时,应该在heightTracksTextView
上调用-[NSLayoutManager textContainerChangedGeometry:]
:
此方法由文本的其他组件自动调用 系统;你很少需要直接调用它。的子类 但是,NSTextContainer必须在其大小的任何时候调用此方法 形状变化(动态调整其形状的文本容器) 例如,在放置图形时包装文本时必须这样做 添加,移动或删除图形。
我尚未对此进行测试,以确定是否需要在widthTracksTextView
上设置NSTextContainer
或verticallyResizable
;在horizontallyResizable
上设置NSLayoutManager
或-[NSTextContainer setSize:]
;或者以编程方式呼叫-[NSTextContainer setSimpleRectangularTextContainer:]
或-[NSLayoutManager textContainerChangedGeometry:]
会自动拨打.tinted-image {
background:
/* top, transparent red, faked with gradient */
linear-gradient(rgba(255, 0, 0, 0.45), rgba(255, 0, 0, 0.45)),
/* bottom, image */
url(http://cdn.sstatic.net/stackoverflow/company/img/logos/so/so-icon.png?v=c78bd457575a);
width: 75px;
height: 75px;
}
广告。