小编Azp*_*iri的帖子

使用基于视图的NSOutline的奇怪行为(Sourcelist)

我在我的应用程序中使用CoreData + NSTreeController + Bindings + NSOutlineView和一个Object作为NSOutlineViewDelegate,在我的应用程序中有一个基于视图的NSOutlineView作为Sidebar SourceList.

我在outlineview委托中使用这些委托方法:

- (BOOL)outlineView:(NSOutlineView*)outlineView isGroupItem:(id)item在我的例子中,当(核心数据)父关系为nil时,项目是组.

- (NSView*)outlineView:(NSOutlineView*)outlineView viewForTableColumn:(NSTableColumn*)tableColumn item:(id)item返回headercell视图(group)或datacell视图(icon + text).

我将大纲视图的大小样式(在XCode中的Interface Builder中)设置为"侧栏系统默认值",以便当用户在系统首选项中更改大小视图时,单元格视图会更改其大小.

它工作正常......但有一些问题:

在此输入图像描述

  • 第一个单元格视图是一个组单元格(标题单元格),当展开 - 折叠时,此单元格视图的文本字段向上移动.只有第一个发生.

  • 标题单元格中的文本字段会改变它的大小(当更改系统首选项中的大小时),但我希望标题单元格大小保持固定,如(Lion)Finder,Mail ....

  • 标题单元格中文本字段的字符串值不显示为大写.

  • 我在数据单元的图像视图中用作图标的图像看起来是透明的(具有0.5 alpha值或类似的值).

有帮助吗?提前致谢

解决了:

  • 对于第一个cellview展开/折叠时的运动,使用方法setFloatsGroupRows:NO with outlineview(感谢Anton!)

  • 如果你想要groupcells字体的固定大小(即使用户在系统偏好设置中更改它),请在IB中取消绑定带有表格单元格视图的标题单元格.

  • 使用带有标题单元格的valueTransformer(将字符串转换为大写),字符串将显示为大写.您还可以使用nsoutlineview数据源方法执行此操作- outlineView:objectValueForTableColumn:byItem: ...

  • 最后,图标是半透明的,因为未启用.取消选中图像单元格绑定中的值或值路径中的"有条件设置已启用"(取决于您使用的那个)

cocoa nsoutlineview

18
推荐指数
1
解决办法
4062
查看次数

在Cocoa中更改行分隔符的颜色

有没有办法改变一条线的颜色(Interface Builder的"垂直线"和"水平线").IB中的行分隔符是NSBox,当用作NSBoxSeparator时,我没有找到任何改变颜色的方法.

cocoa

16
推荐指数
1
解决办法
4942
查看次数

如果NSTextfield为空,则禁用/启用NSButton

我是可可的新手.我的应用程序中有一个按钮和一个textField.我想在textfield为空时禁用该按钮,并在用户输入内容时启用.

有什么要开始的吗?Interface Builder中的任何"魔术"绑定?

谢谢

[EDITED]

我试图将appDelegate设置为NSTextfield的委托并添加了此方法(myTextfield和myButton是IBOutlets):

- (void)textDidChange:(NSNotification *)aNotification
{
    if ([[myTextField stringValue]length]>0) {
        [myButton setEnabled: YES];
    }
    else {
        [myButton setEnabled: NO];
    }
}
Run Code Online (Sandbox Code Playgroud)

但没有任何反应......

cocoa nstextfield nsbutton

11
推荐指数
2
解决办法
2万
查看次数

沙盒后,辅助功能API停止工作

我的Mac App使用辅助功能API来移动(其他应用程序的)调整大小窗口.

我想将我的应用程序提交给MAS(Mac App Store).我已经读过要向MAS提交应用程序必须打开沙盒.

当我打开沙盒时,我的代码无法通过辅助功能API找到焦点窗口(始终返回NULL).问题是:辅助功能API不能与沙盒一起使用?

我注意到Mac App Store中有应用程序使用辅助功能API,现在不是强制沙盒吗?

提前致谢.

cocoa sandbox accessibility-api mac-app-store

5
推荐指数
1
解决办法
1361
查看次数