【问题标题】:Why doesn't an editable Cocoa text field cell draw a shadow?为什么可编辑的 Cocoa 文本字段单元格不绘制阴影?
【发布时间】:2012-03-25 03:11:14
【问题描述】:

因此,如果我通过代码或界面构建器禁用文本字段/文本字段单元的编辑...,它会正常工作。

(注意轻微的阴影)

但是一旦我让它可编辑([cell setEditable:YES]),阴影就完全消失了:

我尝试了两种绘制阴影的方法:一是设置NSBackgroundStyleRaised,二是覆盖- (void)drawInteriorWithFrame:(NSRect)cellFrame inView:(NSView *)controlView 以手动创建阴影。一旦使单元格可编辑,两种绘制阴影的样式/方式都会停止工作。 (为了清楚起见,最终结果应该是嵌入的、可编辑的文本。上面的图片仅用作演示。)

谁能告诉我为什么?我该如何解决这个问题?

【问题讨论】:

  • 有趣,想知道它是否是 iOS 中同一问题的一部分,请参阅我的问题:stackoverflow.com/questions/7444473/…。也许当任何文本字段变得可编辑时,精美的绘图就会被关闭?

标签: objective-c cocoa osx-lion nstextfield nstextfieldcell


【解决方案1】:

我想我至少部分明白了原因 -

因为我是用- (void)drawInteriorWithFrame:(NSRect)cellFrame inView:(NSView *)controlView来设置阴影的,而且因为在编辑的时候field editor也在做画(而且它没有经过上面提到的方法)阴影不适用于它。

对此进行确认可能很好,但现在我将假设这就是没有绘制阴影的原因。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多