gpt4 book ai didi

cocoa - NSImageView 和 NSImageCell 之间有什么关系?

转载 作者:行者123 更新时间:2023-12-03 16:08:34 25 4
gpt4 key购买 nike

看来,如果我在代码中创建一个 NSImageView ,如果 NSImageView 变得比图像本身更大,则无法让图像自动按比例放大。 (奇怪的遗漏)

另一方面,如果我在 IB 中创建 NSImageView,它似乎以某种方式将 NSImageCell 附加到 NSImageViewNSImageCell 有一个按比例向上和向下缩放的选项,这就是我想要的。

但是在IB中,我似乎无法理解NSImageViewNSImageCell之间的关系。我无法从 NSImageView 中删除 NSImageCell,并且在绑定(bind)或其他任何地方都看不到连接。

在代码中创建NSImageView时如何获取NSImageCell的功能?

抱歉,如果这很明显,但我习惯了 UIImageViews 并且它们绝对与 NSImageView 不同。

谢谢。

最佳答案

您应该能够使用[NSImageView setImageScaling:NSImageScaleProportionallyUpOrDown]进行缩放。你有遇到过这样的麻烦吗?您还可以使用 -cell 访问任何 NSControl 的单元格。

至于单元与控件( View )的分离,这是计算机功能较弱的时代遗留下来的(一些 NeXT 计算机只有 8MB 内存)。单元格提供了一个更轻量级的对象,不需要完整 View 的一些开销。这在可能存在大量元素的情况下(例如在矩阵或表中)非常重要。单元格被设计为更容易复制和重用,就像 UITableViewCell 一样。与UITableViewCell一样,同一个NSCell可以重复使用来绘制不同的内容。单元格还共享一些单例。例如,大多数单元格通常只共享一个字段编辑器 (NSTextView)。当用户选择不同的文本字段进行编辑时,它只是根据需要移动。

在第一代 iPhone 的内存是 NeXT 的 10 倍,而台式机通常有 1000 倍的内存的世界中,NSCell 中的某些选择没有多大意义。从 10.7 开始,OS X 已经从 NSCell 中移走了一些东西。 NSTableView 现在支持 NSView 单元格以及 NSCell 单元格。当 iPhoneOS 发布时,UITableView 从一开始就开始使用 View 。 (当然,与 OS X 表格 View 相比,iPhone 表格 View 很小,因此它是一个更简单的选择,原因不仅仅是可用内存。)

关于cocoa - NSImageView 和 NSImageCell 之间有什么关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19819980/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com