Tej*_*udi 8 macos cocoa nsbutton nsbuttoncell
我一直在阅读有关NSButtons和单元格的Apple文档,我似乎无法理解这两者之间的区别.增加这种复杂性,看起来它们都有很多重叠等方法setTitle:,我不确定应该使用哪些方法.
谁能解释一下基本的区别是什么?
谢谢,
Teja
您可以将控件视为单元格的代表或"代理".1控制是一个NSView,这意味着在这些情况下有两个重要的事情.首先,它表示要绘制的窗口区域.其次,它接受用户交互.2
但是,控制本身并没有做很多事情.单元格是完成所有工作的东西 - 例如,注意单元格可以将自己绘制到给定的框架中.这是视图的责任,但是控件将其推迟到单元格,只是提供绘图区域.
同样,当用户点击控件时,控件接收事件并确定其含义,但执行响应事件的操作的工作将传递给单元.
如果你看一下各种控制/细胞对的文档(NSButton并且NSButtonCell就是这样一对),你会看到提到"覆盖"方法.这意味着控件的方法与其对应的单元格具有相同的名称,只需调用单元格即可.这就是你提到的重复的来源.当你想使用其中一种方法时,在控件上调用它 - 作为对的公共面,它很可能只是简单地询问单元格.
Apple提供的最佳交互描述是"控制和单元编程主题指南"中的"如何控制和单元格交互".
1在演员有代理人采购演出的意义上.
2并非所有观点都是如此; 它实际上是一个功能,NSResponder从中NSView继承.
| 归档时间: | 
 | 
| 查看次数: | 4645 次 | 
| 最近记录: |