MacOS 上的 NSCell(比较 NSButton 和 NSButtonCell )

转载 2017年09月08日 15:52:57

本文选摘自 关于NSCell : http://cocoa.venj.me/blog/about-nscell/


NSButton 和 NSButtonCell 的继承关系

  • NSButton的继承关系是:NSButton -> NSControl -> NSView -> NSResponder -> NSObject。应该说,是一个很长的继承链了。
  • NSButtonCell的继承关系是:NSButtonCell -> NSCell -> NSObject。

比之NSButton,少了两层继承关系。光凭这一点大致就能够解释为什么Cell的性能比Control高很多了。


Cell和Control 的关系

NSCell是控件的UI显示部分。
NSButton 和 NSMatrix 能够为 NSButtonCell 提供一个控制视图,用来实现Cell的显示。
不过 NSMatrix 需要直接操作 NSButtonCell 对象,而 NSButton 则不需要。因为它已经“封装”了所有 NSButtonCell 的同名方法。也就是说,对NSButton调用方法(不是所有的方法),实际上是对NSButtonCell调用方法,调用的时候,我们甚至可以无需知道NSButtonCell的存在。

所以在Interface Builder中,NSButton总是和NSButtonCell同时存在,在Interface Builder里,NSButton和NSButtonCell的Inspector里的属性也基本相同。

相关文章推荐

学习Mac开发第一弹 认识 NSButton

学习Mac开发第一弹 认识 NSButton NSButton 外观与属性 打开storyboard 面版,发现NSButton 有很多类型。先在ViewController 拖个Push...

NSButtonCell inside custom NSCell

转自:http://stackoverflow.com/questions/2280317/nsbuttoncell-inside-custom-nscell The minimal req...

MacOS 和iOS 开发细节上的不同(OC)

此处默认读者都已掌握 iOS 开发,只记录macOS 上的代码。设置背景色 按钮添加点击事件设置背景色 self.imgView.wantsLayer = true; self.imgV...

OSX 简易入门教程

原文:http://www.raywenderlich.com/17811/how-to-make-a-simple-mac-app-on-os-x-10-7-tutorial-part-13 ...
  • wabil
  • wabil
  • 2016年03月26日 12:06
  • 1687

各种进程创建方式比较总结(MacOS, Win32, Qt)

write by 九天雁翎(JTianLing) -- blog.csdn.net/vagrxie 讨论新闻组及文件 由于进程创建是非常基础,很重要的工作,由此导致的恶果就是...

NSTableView中自定义NSCell

最近在研究NSTableView中自定义NSCell,找到一段非常有价值的文字,翻译如下: An NSTableView consists of a data model (where it g...
  • ch_soft
  • ch_soft
  • 2011年09月19日 17:52
  • 3363

Cocoa NSTableView, NSTextFieldCell, NSCell, ImageAndTextCell tutorial

http://juliuspaintings.co.uk/cgi-bin/paint_css/animatedPaint/070-NSTableView-ImageAndTextCell.pl 7...
  • yuanya
  • yuanya
  • 2013年10月27日 10:11
  • 2404

会变色的背景透明NSButton

效果图: //ColorTextButton.h #import @interface NSButton (ColorButton) - (void)setHoverColor:(NS...
  • sjcode
  • sjcode
  • 2012年05月03日 13:48
  • 4105

自定义NSButton

  • 2016年03月17日 14:32
  • 189KB
  • 下载

改变NSButton字(title)的颜色

转自我的简书:http://www.jianshu.com/p/a9e86b79a2d4 NSButton不能像UIButton那样简单的修改title的颜色,或者说NSButton不能像UIButt...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:MacOS 上的 NSCell(比较 NSButton 和 NSButtonCell )
举报原因:
原因补充:

(最多只允许输入30个字)