objective-c - 透明 NSTableView

标签 objective-c cocoa transparency nstableview nscell

我想自定义我的 NSTableView。我的总体要求是这样的:

  • 每一行都有一个图像和一些文本;图片和文字可能不同。
  • 某些单元格可能没有图像。
  • 行高取决于某些外部因素。
  • 单元格不应绘制背景,而应显示 NSTableView 背景。

到目前为止,我可以用一些文本绘制透明单元格。我用谷歌搜索并发现我需要自定义每个单元格。现在我有这个问题:我应该保留两列,还是应该保留一列,在左侧放置一张图像,并在其旁边放置文本?

我还知道我需要重写两个方法:

- (void) drawWithFrame:(NSRect)cellFrame inView:(NSView *)controlView

因此,对于每个单元格,我需要绘制/构建单元格 - 谁能指导我?我的方向正确吗?我可以通过上述方法实现具有动态高度的透明背景吗?

最佳答案

Each row will have one image and some text,

因此,有两列,一列包含图像单元格,另一列包含文本字段单元格。

images and text could be different,

我希望如此。

Some cell might not have the Image,

没问题。

Row height is depend upon some external factor,

作为 TableView 的委托(delegate),它会询问您行的高度应该是多少。

Cell shouldn't draw the background,

除非您将其设置为这样做,否则它不会这样做。

it should overall it should show the NSTableView background,

表格 View 无论如何都会绘制自己的背景,您可以在IB的检查器中设置。如果您希望表格 View 不绘制背景,则可以将其背景颜色设置为透明颜色。

您不需要为此使用自定义单元格。

关于objective-c - 透明 NSTableView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4746483/

相关文章:

ruby - 如何生成 DSA 签名?

ios - AVCaptureVideoPreviewLayer 正确显示,但在 iPhone6 上除外

iphone - 标签栏和导航 Controller 内的 MKMapView 隐藏了 Google 品牌

macos - Core Text 中的规范字体粗细是多少?

java - 如何设置 jPanel 的不透明度?

html - 背景透明度问题

c# - 透明表格不会总是保持在最前面

ios - 找出您来自哪个 View Controller

ios - "Run"命令为 Particle iOS Cloud SDK 禁用

iphone - 如何测试方法的协议(protocol)?