jjzjj

nstableView

全部标签

macos - 带菜单的 NSTableView,如何通过右键单击更改边框颜色?

带有附加NSMenu的NSTableView。右键单击表格View,将出现菜单。有了它,表格View将突出显示带有彩色边框的行。使用HoverTableDemo来自MacDeveloperLibrary作为引用点。默认颜色对应于系统偏好设置->通用->突出显示颜色中的用户偏好设置。问:如何更改/删除此边框颜色? 最佳答案 将此添加到您的TableView-(void)drawContextMenuHighlightForRow:(NSInteger)row;{} 关于macos-带菜单的

swift - 在 Swift 中使用绑定(bind)以编程方式创建基于 View 的 NSTableView

我正在阅读一本CocoainSwift的书,但我卡在了有关绑定(bind)的一章中。这本书使用nib文件,但我想以编程方式完成所有操作(因为我加入了一个不使用nib的团队)。该项目是创建一个包含2列的基于View的表格,表格的内容绑定(bind)到数组Controller的arrangedObjects。数组Controller的内容绑定(bind)到一个Employee对象数组(Employee有2个属性,即name和salary)。我能够像下面这样以编程方式创建表格(一个ScrollView、一个表格View、2个表格列):lettableWidth=windowWidth!*0.

swift - 如何只允许在 NSTableView 中的行之间删除行?

我有一个基于View的NSTableView,它接受从取景器中放入的图像。我希望能够在指定的放置位置插入新图像(下面的左侧示例)并防止放置在行本身上(下面的右侧示例)。我查看了委托(delegate)方法和NSTableView属性和方法,但看不到防止按行放置的方法。有什么想法吗?图:截图中没有渲染光标。在左边的示例中,我拖入了一个名为Pic_3.png的文件,NSTableView通过在将插入新图像的位置画一条线来响应。在右边的示例中,我继续将其拖动并放置在TableView中的现有行上。在现有项目上插入没有任何意义,因此我想防止这种行为。 最佳答案

macos - 滚动时 NSTableView 非常滞后

在我的OSX应用程序中,它使用CoreData我的表格View在滚动时非常滞后,我在那里只有大约100多行......我正在使用Cocoa绑定(bind)NSArrayController在TableView中显示我的数据。我只有一个具有13个属性的实体,但该TableView/ScrollView仍然非常滞后。是否存在导致该行为的一些常见错误/错误编码?滚动时我的CPU使用率约为85%。有人知道这是为什么吗?我正在使用Xcode7发布版本。更新:仪器看起来像这样(我第一次使用它):更新2:我使用NSVisualEffectView并重写allowsVibrancy以返回true,因此

swift - 如何更改使用 NSArrayContoller 作为内容源的 NSTableView 的选择颜色?

我有一个NSTableView(基于View),它显示来自NSarrayController的信息。所有连接均来自IB。一切正常,但是蓝色选择颜色看起来不符合我的设计理念,所以我想用我自己的颜色改变这种颜色,但直到现在我都失败了。classMyTable:NSTableView,NSTableViewDelegate{overridefuncdrawBackgroundInClipRect(clipRect:NSRect){ifself.isRowSelected(self.selectedRow){//NSColor.brownColor().colorWithAlphaCompon

swift - 将一些文本垂直居中放置在 NSTableView 的行中的正确方法是什么?

我的OSX应用有一个行高较大的NSTableView:myTableView.rowSizeStyle=.large我尝试在里面放一些文字,但是我发现我放的文字不能垂直居中。请看下面的代码。我有三列,前两列使用NSTextField和NSTextView来放置一些文本。第三个是复选框按钮。functableView(_tableView:NSTableView,viewFortableColumn:NSTableColumn?,row:Int)->NSView?{if(tableColumn?.identifier=="Column1"){letfield=NSTextField()f

macos - 基于 NSTableview View 的滚动性能

我对OSXCocoa编程还很陌生,但我决定尝试使用新的Swift语言。我有一个NSTableView有1500行(会更多)和7列。有一个复选框列,其余为文本字段,一个带有日期格式,一个带有货币格式。我首先将其设置为基于单元格。滚动非常顺畅(我什至做了一个添加100万行的测试,仍然顺畅)。这是在特立独行的情况下。然后我升级到Yosemite,滚动性能显着下降。在表格View上启用核心动画层复选框改善了这一点,但仍然比特立独行者差。在我尝试提高优胜美地滚动性能的阅读过程中,我遇到了“基于View”的NSTableViews。从文档中可以看出,通常不应使用基于单元格的TableView,并且

cocoa - NSTableView:检测鼠标点击连同行和列

我试图检测鼠标点击何时发生在NSTableView中,何时发生,以确定被点击的单元格的行和列。到目前为止我已经尝试使用NSTableViewSelectionDidChangeNotification,但是有两个问题:它仅在选择更改时触发,而我想要每次鼠标单击,即使它是在当前选定的行上。调用我的委托(delegate)时,NSTableView的clickedRow和clickedColumn属性均为-1。是否有更好(和正确)的方法来做到这一点? 最佳答案 有一个简单的方法。在macOS10.12.2和Xcode8.2.1上使用Sw

objective-c - 在基于 View 的 NSTableView 上更改选择颜色

OSX应用程序中的标准突出显示颜色是蓝色。是否可以将其更改为另一种颜色,例如灰色?请注意,我正在使用从OSX10.7开始提供的新的基于View的NSTableView。 最佳答案 由于您使用的是基于View的NSTableView,您可以将NSTableRowView子类化,并将其提供给表委托(delegate)方法-(NSTableRowView*)tableView:(NSTableView*)tableViewrowViewForRow:(NSInteger)row;,然后在行View类中自定义您的选择。这是一个例子:-(vo

objective-c - 基于 View 的 NSTableView 具有动态高度的行

我有一个应用程序,其中包含基于View的NSTableView。在这个TableView中,我有一些行,其中的单元格的内容由启用了自动换行的多行NSTextField组成。根据NSTextField的文本内容,显示单元格所需的行大小会有所不同。我知道我可以实现NSTableViewDelegate方法-tableView:heightOfRow:来返回高度,但是高度将根据上使用的自动换行来确定NSTextField。NSTextField的自动换行同样基于NSTextField的宽度……由NSTableView的宽度决定。太好了……我想我的问题是……什么是好的设计模式?似乎我尝试的所有