关闭

MacOS 上的 NSCell(比较 NSButton 和 NSButtonCell )

标签: NSCellNSButtonCeNSButtonMacOS开发
2143人阅读 评论(1) 收藏 举报
分类:

本文选摘自 关于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里的属性也基本相同。

0
0
查看评论

基于cell-base的NSTableView

写此文章,一是积累一下知识,二也是因为某个项目要求在10.6上运行,但由于10.6的NSTableView只支持Cell-Base。因此想与iphone一样,把一些视图addsubview来说就要走点弯路了。在10.7下就可以完全使用view-base来实现。对于view来说,大家都用得很顺手了,想...
  • fengsh998
  • fengsh998
  • 2014-01-27 11:48
  • 11834

NSTableView中自定义NSCell

最近在研究NSTableView中自定义NSCell,找到一段非常有价值的文字,翻译如下: An NSTableView consists of a data model (where it gets the values to display), and a collec
  • ch_soft
  • ch_soft
  • 2011-09-19 17:52
  • 3461

About NSCell

The NSCell class provides a mechanism for displaying text or images in an NSView without the overhead of a full NSView subclass. In particul
  • Koupoo
  • Koupoo
  • 2011-08-26 20:19
  • 548

MacOS 上的 NSCell(比较 NSButton 和 NSButtonCell )

NSButton 和 NSButtonCell 的继承关系 Cell和Control 的关系本文选摘自 关于NSCell : http://cocoa.venj.me/blog/about-nscell/NSButton 和 NSButtonCell 的继承关系 NSButton的继承关系是:NS...
  • lovechris00
  • lovechris00
  • 2017-09-08 15:52
  • 2143

OSX 简易入门教程

原文:http://www.raywenderlich.com/17811/how-to-make-a-simple-mac-app-on-os-x-10-7-tutorial-part-13      原创译文,转载注明出处:http://blog.c...
  • wabil
  • wabil
  • 2016-03-26 12:06
  • 1996

学习Mac开发第一弹 认识 NSButton

学习Mac开发第一弹 认识 NSButton NSButton 外观与属性 打开storyboard 面版,发现NSButton 有很多类型。先在ViewController 拖个PushButton 居中显示看看功能吧 本人非常推荐可视化编程,所见即所得。大量减少了ui的...
  • lengshengren
  • lengshengren
  • 2016-12-26 17:32
  • 2523

会变色的背景透明NSButton

效果图: //ColorTextButton.h #import @interface NSButton (ColorButton) - (void)setHoverColor:(NSColor *)textColor; - (void)setNormalColor:(NSColor...
  • sjcode
  • sjcode
  • 2012-05-03 13:48
  • 4207

[MAC OS]第一次接触MAC OS开发

原文:http://www.raywenderlich.com/17811/how-to-make-a-simple-mac-app-on-os-x-10-7-tutorial-part-13      原创译文,转载注明出处:http://blog.c...
  • s133315202
  • s133315202
  • 2015-07-23 15:24
  • 1200

从 UIKit 到 AppKit

Mac 不仅是一个强大的生产平台,也十分值得你为其开发一些东西。去年我们开始构建我们的第一款 Mac 应用,成功为我们日常工作所在的平台开发点东西是一次十分美好的体验。但是,和为 iOS 系统开发应用相比,在我们了解 Mac 特性的过程中也遇到了一些困难。这篇文章总结了我们从这一过渡中得到...
  • qq_16379603
  • qq_16379603
  • 2015-12-21 15:47
  • 573

MacOS 开发 - NSButtonType

NSButtonTypetypedef NS_ENUM(NSUInteger, NSButtonType) { NSButtonTypeMomentaryLight = 0, NSButtonTypePushOnPushOff = 1, NSButtonType...
  • lovechris00
  • lovechris00
  • 2017-09-14 10:00
  • 2026
    博客专栏
    个人资料
    • 访问:210171次
    • 积分:3453
    • 等级:
    • 排名:第11457名
    • 原创:127篇
    • 转载:6篇
    • 译文:1篇
    • 评论:96条
    最新评论