问题标签 [nstableview]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
iphone - NSTableView 删除最后一行的问题
自从我弄乱了我的 TableViewController 已经有一段时间了,所以我有点生疏了......但现在我想设置它,以便当一个部分有零行要显示(数组为空)时,它会“撒谎" 到控制器并为 numberOfRowsInSection 返回 1。然后在 cellForRowAtIndexPath 中,它将在一行的单元格上放置一个 UILabel,表示“此部分为空”。
问题是当表格处于编辑模式并且用户删除最后一行时,我收到以下错误:
由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“无效更新:第 1 节中的行数无效。更新 (1) 后现有节中包含的行数必须等于该节中包含的行数更新前的部分 (1),加上或减去从该部分插入或删除的行数(0 插入,1 删除)。
似乎令人不安的是,在尝试重绘表格时滑动删除一行后,它发现最后一行仍然存在。我应该在哪里/如何处理这个?当然,在某种程度上,我对 Apple 的 HIG 感到很困惑,但让我的用户感到困惑的是,在空白部分上只有一个标题......
谢谢!
cocoa - 有没有办法在 NSTableView 中使用可编辑的 NSSecureTextFieldCell 绑定?
我有一个NSTableView
带有几列的列,其中之一设置为使用 anNSSecureTextFieldCell
作为它的dataCell
. 我正在使用正确配置NSArrayController
来向该表提供数据。
问题是我的安全文本字段不想工作。它显示了它所包含的字符串的适当数量的点,但它是不可编辑的!我无法更改安全文本。
可以肯定的是,我对常规的 做了同样的事情NSTextFieldCell
,并且一切都像魅力一样。我已正确设置绑定,并且该列设置为可编辑。
我能够在 Apple 的开发者邮件列表中找到对相同问题的引用,但那里发布的解决方法是 2006 年的。
是否有解决此特定问题的方法?
或者
有没有人有更好的解决方法,也许仍然允许使用绑定?
objective-c - NSTableView 响应面板中的第一次单击
我在 Interface Builder 中注意到,如果我想单击或从 Library 面板拖动,我只需单击一次,即使 Library 面板没有当前焦点。
我正在尝试构建一个行为相似的面板。
有没有什么简单的方法让 NSTableView 接受点击,即使窗口没有焦点?
谢谢。
cocoa - 使用 CoreData 存储对 NSTableView 的拖放支持
我必须在我的应用程序中的 NSTableViews 都显示存储为“CoreData”的数据。TableViews 是非常基本的,就像整个程序一样。
右边的 TableView 显示了一个清单列表,左边显示了这个清单的内容。现在我想允许用户将清单内的项目拖到另一个清单中。
我在网上找到了一些教程和示例代码,但对于我对 Cocoa 的理解来说,它们是压倒性的。如果有人可以通过简短易懂的说明提及网页或教程等,那就太好了。
非常感谢
编辑:虽然应该很明显,但我的应用程序是用 Cocoa 编写的并在 Mac 上运行。
objective-c - NSTableView 中的动画行
有没有一种简单的方法来为 NSTableView 中的行设置动画?
我希望能够做一些事情,比如闪烁一行,或者淡出一行。
本质上 - 在添加或删除行时提供一些视觉反馈。
编辑添加:
在发布之前,我已经快速浏览了谷歌;但我想知道除了自己绘制和动画部分表格视图之外,是否还有其他方法可以做到这一点。
cocoa - 在 NSCollectionViewItem 实例中更新 NSTableView
在我的设置中,我有一个连接到 mac 的卷的 NSCollectionView。对于 NSCollectionViewItem 的视图,我有一个 NSBox,里面有一个 NSTableView,列出了该卷的内容。
我的问题是在尝试向 NSTableView 添加/删除项目时出现的。NSBox 好像初始化过一次,所以只有一个 NSTableView。这意味着当我想更新 NSTableView 中的数据时,我无法在 IBOutlet 上调用 reloadData 并让它更新所有表。
如果我在 NSBox 的子类中创建一个 IBOutlet,则该实例为 nil,因此我无法通过它调用它。
我最接近的方法是在代码周围加上一个@try @catch,该代码在列中的一行返回对象,由于该项目不再存在而发生异常,因此我可以获取tableView并调用reloadData,这似乎更新特定的 NSTableView。
这样做的问题是,如果删除的项目位于表格的末尾,或者如果添加了一个项目,则不会发生异常,因为它可以看到所有现有项目。
有没有人在 NSCollectionViewItem 的视图上使用 NSTableView 的经验?你是如何更新表格的?
objective-c - NSTableView 不会增加表格中的元素数量?
我有一个 NSTableView,它使用控制器对象来显示 NIB 作为数据源。我实现了 NSTableView 非正式协议。
这个 NSTableView 从核心数据中获取它的值。我启动应用程序,加载我在 XML 中的所有值,然后显示它们。
我的问题是, NSTableView 似乎没有在表的末尾添加任何新行。如果我在永久存储中没有值的情况下启动应用程序并添加另一个值(添加值可以工作,因为我可以看到它们被保存到 XML),表视图只是忽略新值。
如果我添加一个我知道会出现在表格末尾的值(内容按字母顺序排列),我将看不到新值。
如果我和一个我知道的值不会走到表的末尾,则该值将被添加,我会在表上看到它,但表上的最后一个值将被推出并消失。
我注意到 - (int)numberOfRowsInTableView:(NSTableView *)tv 仅在应用程序启动时调用,而不是在我执行 [tableView reloadData] 时调用。是什么导致此事件被触发?我尝试在 tableView 上调用 reloadData 之前手动触发它,但似乎不起作用。
关于可能导致这种情况的任何想法?
有没有人遇到过这样的事情?任何线索可能是什么?
objective-c - 自定义 NSCell 中的可点击链接
我有一个自定义的 NSCell,其中包含各种元素(图像、各种文本片段),其中一个文本块内部可能有各种可点击的链接。我有我的 NSAttributedString 正确识别链接并将它们着色为蓝色但是我无法弄清楚如何让光标变成一只手并允许用户实际点击它们。
现在我将我的属性字符串直接绘制到显然不可点击的单元格,但我不确定如何以任何其他方式添加它,因为 NSCell 不是从 NSView 继承的。通常我只会添加一个 NSTextField 作为子视图,但在这种情况下我不能这样做。
有什么想法吗?
objective-c - NSTableView 问题
我正在努力学习 Objective-C/Coaoa,但我似乎有点坚持让 NSTableView 对象为我工作。我已按照所有指示进行操作,但由于某种原因,我仍然收到此错误:
这是我的消息来源,告诉我你在这里看到了什么,我要撕掉我的脸。
机器人管理器.h
机器人管理器.m
如果这有什么不同,我正在运行 OS X 10.6.1。提前致谢。
cocoa - 以编程方式设置 NSSplitView 的一侧
我有一个NSSplitView
并且在左侧我有一个 tableView(如源列表),并且根据行选择,我想更改拆分视图的右侧。我无法完全弄清楚如何做到这一点。
当我将所需的子视图添加到拆分视图时,它会添加另一个拆分(所以现在总共有 3 个视图......不是我想要的)。
如何正确设置 splitView 的右侧?
更新
使用
似乎有效,但是它奇怪地调整了拆分视图的大小,我该如何阻止它?在 IB 中有一个关闭选项,autoResizesSubviews
但我无法取消选中此选项。有任何想法吗?