小编Nic*_*kkk的帖子

如何知道NSWindow在Mac OS X Lion中是否全屏?

我想我应该检查是否[NSApplication presentationOptions]包含NSFullScreenModeApplicationPresentationOptions,但我该如何实现呢?

编辑:使用[NSApplication presentationOptions]不像在我的基于文档的应用程序中那样,全屏可能有一些文档而其他文档没有.我现在正在寻找另一种解决方案.我想知道为什么没有一个叫做的财产[NSWindow isFullscreen]或类似的东西.

cocoa fullscreen nswindow nsapplication osx-lion

14
推荐指数
3
解决办法
9505
查看次数

如何以编程方式将新的NSToolbarItem添加到现有工具栏?

我正在寻找一个名为addNewItem:(NSToolbarItem *)item或类似的方法,让我可以添加一个以编程方式创建的项目到我的工具栏,但我还没有找到.我想添加一个项目,当用户点击它时会显示一个弹出框,就像用户下载内容时的Safari一样.

cocoa nstoolbar nstoolbaritem

8
推荐指数
1
解决办法
5554
查看次数

获取NSCollectionView中的视图索​​引?

我使用新的基于视图的NSTableView为Mac OS X Lion开发了一个应用程序,但是由于我想将整个应用程序移植到Snow Leopard,我试图找出模拟这样一个tableview的最佳方法.到目前为止,我已经创建了一个NSCollectionView,一切都很好,除了我无法获取触发按钮单击事件的视图的索引.在Lion中我有以下功能:

- (IBAction)buttonClick:(id)sender
Run Code Online (Sandbox Code Playgroud)

所以我可以使用一个方法(我记不起它的名字)来得到tableview里面的视图索引

- (NSInteger)rowForView:(NSView *)aView
Run Code Online (Sandbox Code Playgroud)

使用aView作为发件人的超级视图,但我找不到类似于集合视图的东西...唯一"有用"的方法似乎是

- (NSCollectionViewItem *)itemAtIndex:(NSUInteger)index
Run Code Online (Sandbox Code Playgroud)

(或类似的东西),但这不能帮助我,因为它返回一个NSCollectionViewItem,我甚至无法访问它只知道相应的视图!

indexing cocoa nstableview nscollectionview nscollectionviewitem

7
推荐指数
1
解决办法
3116
查看次数

如何知道文件是否可以移动到Cocoa中的垃圾箱

目前我可以删除选定的用户文件.问题是如何知道该文件的卷是否支持废弃.例如,外部USB记忆棒只有一个本地垃圾文件夹,而不允许在远程Mac上丢弃文件(即使是从Finder),它只能被删除.我没有在NSURLVolume[...]使用中发现任何适当的常数[NSURL getResourceValue:forKey:error].

cocoa recycle-bin volume objective-c nsurl

7
推荐指数
1
解决办法
165
查看次数

在沙盒应用中使用FSEvents

我正在尝试在我的沙盒应用程序中使用FSEvents来监视某些目录.我实现了以下类:

@implementation SNTracker

- (id)initWithPaths:(NSArray *)paths {
    self=[super init];
    if (self) {
        trackedPaths=paths;
        CFTimeInterval latency=1.0;
        FSEventStreamContext context={0,(__bridge void *)self,NULL,NULL,NULL};
        FSEventStreamRef eeventStream=FSEventStreamCreate(kCFAllocatorDefault,&callback,&context,(__bridge CFArrayRef)trackedPaths,kFSEventStreamEventIdSinceNow,latency,kFSEventStreamCreateFlagUseCFTypes|kFSEventStreamCreateFlagWatchRoot|kFSEventStreamCreateFlagFileEvents);
        FSEventStreamScheduleWithRunLoop(eeventStream,[[NSRunLoop mainRunLoop] getCFRunLoop],kCFRunLoopDefaultMode);
        FSEventStreamStart(eeventStream);
    }
    return self;
}

static void callback(ConstFSEventStreamRef streamRef,void *clientCallBackInfo,size_t numEvents,void *eventPaths,const FSEventStreamEventFlags eventFlags[],const FSEventStreamEventId eventIds[]) {
    NSLog(@"asd");
}
Run Code Online (Sandbox Code Playgroud)

问题是"asd"永远不会被打印出来(即永远不会调用回调函数).当我在Xcode中的主要目标摘要中禁用"启用应用程序沙箱"时,将调用回调.难道我做错了什么?我给沙盒应用程序的唯一权利是对用户所选文件的读写访问权限.

cocoa monitoring filesystemwatcher monitor fsevents

6
推荐指数
1
解决办法
488
查看次数

Xcode 中的“Container View 没有 IBSegueTriggerViewDidLoad 绑定”警告

当右键单击新 Xcode macOS 项目中添加的容器视图时,此警告在“触发的 Segues”部分下可见。这是什么意思?

在此输入图像描述

macos xcode cocoa appkit

5
推荐指数
0
解决办法
166
查看次数

Cocoa:如何在执行后台任务时运行模态窗口?

我试过打电话

modalSession=[NSApp beginModalSessionForWindow:conversionWindow];
[NSApp runModalForWindow:conversionWindow];
Run Code Online (Sandbox Code Playgroud)

为了获得一个modal conversionWindow,它阻止用户与应用程序的其余部分进行交互,但这似乎也阻止了代码的执行.我的意思是在上面显示的代码之后的代码根本不执行.我怎样才能解决这个问题?我确信这是可能的,因为许多应用程序在执行一些重要任务时表现出一些进展,例如视频转换等......

macos cocoa modal-dialog

2
推荐指数
1
解决办法
6330
查看次数

从泛型类型到相同类型的未经检查的强制转换

以下代码Unchecked cast: 'T' to 'U'在 IntelliJ IDEA 中生成警告:

interface A {}
class B<T extends A, U extends A> {
    void f() {
        final T t = null;
        final U u = (U) t;
    }
}
Run Code Online (Sandbox Code Playgroud)

这对我来说没有意义,因为TU被定义为相同的类型。问题是什么?

java generics unchecked-cast

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