- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图让我的程序识别 NSCollectionView 的双击。我尝试遵循本指南:http://www.springenwerk.com/2009/12/double-click-and-nscollectionview.html但是当我这样做时,什么也没有发生,因为 IconViewBox 中的委托(delegate)为空:
.h 文件:
@interface IconViewBox : NSBox
{
IBOutlet id delegate;
}
@end
m 文件:
@implementation IconViewBox
-(void)mouseDown:(NSEvent *)theEvent {
[super mouseDown:theEvent];
// check for click count above one, which we assume means it's a double click
if([theEvent clickCount] > 1) {
NSLog(@"double click!");
if(delegate && [delegate respondsToSelector:@selector(doubleClick:)]) {
NSLog(@"Runs through here");
[delegate performSelector:@selector(doubleClick:) withObject:self];
}
}
}
第二个 NSLog 永远不会被打印,因为 delegate 为 null。我已连接 nib 文件中的所有内容并按照说明进行操作。有谁知道为什么或替代为什么这样做?
最佳答案
您可以通过对集合项的 View 进行子类化来捕获 Collection View 项中的多次点击。
NSView
并添加 mouseDown:
方法来检测多次点击NSView
更改为 MyCollectionView
NSWindowController
中实现collectionItemViewDoubleClick:
这是通过让 NSView
子类检测双击并传递响应者链来实现的。响应程序链中第一个实现 collectionItemViewDoubleClick:
的对象被调用。
通常,您应该在关联的 NSWindowController
中实现 collectionItemViewDoubleClick:
,但它可以在响应程序链内的任何对象中。
@interface MyCollectionView : NSView
/** Capture double-clicks and pass up responder chain */
-(void)mouseDown:(NSEvent *)theEvent;
@end
@implementation MyCollectionView
-(void)mouseDown:(NSEvent *)theEvent
{
[super mouseDown:theEvent];
if (theEvent.clickCount > 1)
{
[NSApplication.sharedApplication sendAction:@selector(collectionItemViewDoubleClick:) to:nil from:self];
}
}
@end
关于cocoa - 双击 NSCollectionView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14574334/
我正在为 macOS 实现一个应用程序,我在其中使用 NSCollectionView 作为一种时间轴。为此,我使用了 NSCollectionViewFlowLayout 的自定义子类,原因如下:
我有一个带有 3 个 NSTableViews 和 1 个 NSCollectionView 的窗口。集合 View 显示图像。我希望能够选择其中一个图像并使用键盘删除键将其删除,但我无法让 coll
我正在开发在 NSCollectionView 中显示 svg 图标的应用程序。我想实现拖放功能,以允许用户将 svg 拖到 Finder 或其他应用程序。我有两个问题: 1.) 为了实现对另一个应用
我在网上寻找了这个,但我找不到任何关于如何成功实现 NSCollectionView 的明确教程。我应该如何进行? 在Interface Builder中,我可以将一个NSCollectionView
我有一个NSCollectionView其中 subview 之一是 NSImageView 。实际图像需要在执行 API 调用后从网络服务器加载(因此实际上是两个网络请求)。显然我需要异步加载图像。
我有一系列项目,我在 NSCollectionView 中显示它们。选择和多重选择均已启用。 用户可以通过拖动来选择项目(即通过拖动来标记项目)。但是,当用户开始从 Collection View 背
我最近让我的 NSCollectionView 正常工作,它以正确的方式处理部分。我通过添加“选定”模型 key 路径的绑定(bind)来实现此目的。此操作隐藏蓝色 View ,向用户显示选择。问题是
在我的 Collection View 中,我需要为每个项目生成一个索引。当项目重新排序时,我需要此索引更新其新位置。 数据是托管 NSArrayController 中的核心数据实体。我最接近的可能
我试图通过实现 -(void)magnifyWithEvent:(NSEvent *)event 在 NSCollectionView 中进行捏缩放,但我不确定在这个方法中要做什么。我通过 [even
我尝试遵循本指南: Quick Start for Collection Views 在 Collection View 项中使用 NSImageView。 什么也没有显示,无论我用图像设置图像还是通
当我制作 NSCollectionView UI 时... 第一次,我使用 注册了我的 Collection View 项目类 self.cv.register(NSNib.init(nibNamed
假设我在 Collection View 中有一个项目,该项目将在 Collection View 的第一行居中。 对于多个项目,所有这些项目都将在 Collection View 中水平分布,并在它
我有一个 NSCollectionView 绑定(bind)到一个 NSArrayController,其中包含 NSMutableArray 作为内容。 NSMutableArray 中的项目按其应
我有一个 NSCollectionView,它由消息应用程序中的数十行单列项目(聊天消息)组成。 每个项目都包含一个高度不同的文本区域。因此,在创建 View 时 View 应默认位于底部,并在收到新
我需要在 NSCollectionView 中进行拖放。 所以我查看了苹果的代码示例: https://developer.apple.com/library/mac/#samplecode/Icon
我正在尝试从 NSCollectionView 中获得类似延迟加载的行为。 (老实说,我以为它有它,就像 UITableView - 似乎是一个明显的遗漏?) 无论如何,我正在单元格中显示图像,并且希
我试图让我的程序识别 NSCollectionView 的双击。我尝试遵循本指南:http://www.springenwerk.com/2009/12/double-click-and-nscoll
我正在尝试在 NSCollectionView 中实现拖放,这将允许重新排列 View 中的单元格。我已经设置了委托(delegate)并实现了以下方法: -(BOOL)collectionView:
NSCollectionView 仍然是我所见过的 Cocoa API 中最神秘的部分之一。文档很差,并且有许多移动部件,其中许多通常在 Interface Builder 中实现,这使得文档变得具有
我正在创建一个没有 xib/storyboard 的 NSCollectionview,当触摸项目时,collectionView:didSelectItemsAt: 方法从未调用过。在 viewdi
我是一名优秀的程序员,十分优秀!