- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我没有太多 Mac 编程经验,我有 Windows 背景。
因此,我使用此代码来显示 NSOpenPanel,但我还想指定对话框出现时在屏幕上的位置和大小。我该怎么做?
NSOpenPanel *openPanel = [NSOpenPanel openPanel];
[openPanel setAllowsMultipleSelection:NO];
[openPanel setCanChooseDirectories:YES];
[openPanel setCanChooseFiles:NO];
NSInteger result = [openPanel runModalForTypes:nil];
看来通过调用
[openPanel setFrame:NSMakeRect(0, 0, 500, 500) display:YES];
我可以设置 NSOpenPanel 的大小(它变成 500x500 像素),但不能设置它的左上角,它以屏幕为中心,而不是出现在屏幕的左上角。
最佳答案
您必须子类化 NSOpenPanel 并重写 center
方法,该方法在面板放置在屏幕上之前被调用。以下是将其放置在右上角的方法:
- (void)center {
NSRect myFrame = [self frame];
NSRect screenFrame = [[self screen] visibleFrame];
myFrame.size.height = round(screenFrame.size.height / 2);
myFrame.origin.x = screenFrame.origin.x + screenFrame.size.width - myFrame.size.width;
myFrame.origin.y = screenFrame.origin.y + screenFrame.size.height - myFrame.size.height;
[self setFrame:myFrame display:YES];
}
关于objective-c - 如何设置 NSOpenPanel 对话框的位置和大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8577807/
NSOpenPanel 是否可以仅显示具有某些预定义属性的文件,而所有其他属性都淡出? 我想显示文件,例如具有特定创建或修改日期的文件。 非常感谢! 最佳答案 NSOpenPanel 有 a dele
我以这种方式使用 NSOpenPanel: NSOpenPanel *op=[NSOpenPanel openPanel]; [op setDelegate:self]; [o
如何在 Cocoa-Applescript 中创建 NSOpenPanel?有什么好的教程吗?我熟悉 Applescript,但不太熟悉 Cocoa 部分。 NSOpenPanel 需要nib 吗?我
我正在使用事件监视器监视我的应用程序,每当调用 NSOpenPanel 时,应用程序都会显示为具有 9 个线程,并保持这种状态,直到应用程序关闭。 有没有办法释放这些线程?,或者我只是误解了线程数的含
我使用 NSOpenPanel 让用户选择文件,如下所示: NSOpenPanel *openPanel = [[NSOpenPanel alloc] init]; openPanel.c
有没有办法强制 NSOpenPanel 关闭,以便我可以在调试时看到屏幕?调试时我在 Xcode 中看不到其背后的代码,也无法移动面板。 这就是我所拥有的: - (IBAction)openImage
我有一个 NSOpenPanel,我想在用户单击“确定”后对选择进行一些验证。我的代码很简单: void (^openPanelHandler)(NSInteger) = ^(NSInteger re
我想向NSOpenPanel添加一个复选框,然后在接收所选文件时查询其状态。我怎样才能做到这一点? 此外,希望能够根据当前文件选择启用或禁用该复选框。 最佳答案 基于 Joshua Nozzi 和 M
这就是我将打开的面板显示为 float 窗口的方式。 有人可以帮我将面板作为工作表运行吗?窗口对象是mWindow。我使用的许多标准代码都已被折旧。 NSOpenPanel *openPanel =
只是看看我会用什么来只允许选择特定文件(现在是图像) setFileTypesArray 返回 NSOpenPanel may not respond to -setFileTypesArray: 然
自 OS X 10.11 起,即使使用 setTitle,标题栏似乎也不再出现:有人知道发生了什么以及如何恢复旧行为吗? 最佳答案 来自AppKit Release Notes for OS X v1
我有一个在沙箱中运行的应用程序,它使用 NSTask 启动帮助程序应用程序包(帮助程序包含在应用程序包中)。 使用正确的权利,主应用程序能够使用 NSTask 启动帮助程序,并且继承沙箱而不会崩溃。唯
我一直在尝试显示一个窗口,要求用户选择一个文件,最终我做到了。问题是,Xcode 提示我正在使用的方法已被弃用。我查看了class reference ,但从 Mac OS 10.6 开始,“运行面板
这个问题在这里已经有了答案: Title bar missing in NSOpenPanel? (1 个回答) 关闭 5 年前。 我正在构建一个工具栏应用程序,其菜单包含一个显示 NSOpenPa
我正在为 rsync (RsyncOSX) 开发一个 GUI,在下一个版本中计划添加一个用于选择目录的 GUI。前段时间我在使用 NSOpenPanel 时遇到了一些稳定性问题,但现在我想再试一次。但
我现在真的尝试了所有方法,但我无法让 NSOpenPanel 允许选择应用程序包。我需要它在我的应用程序中成为可能,让用户选择应用程序包的路径。我的代码如下所示: var fileDial
我查看了其他答案,但似乎对我的情况没有任何帮助。 我有一个 viewController 类,其中包含一个按钮的 IBAction。此按钮应从该 viewController 打开一个 NSOpenP
我试图确定 NSOpenPanel 在实际关闭之前何时关闭。我需要这样做,以便我可以覆盖另一个窗口,并在其顶部打开打开面板的屏幕截图以进行动画处理。不幸的是,您似乎能够访问的所有通知似乎都会在窗口关闭
这些错误意味着什么? 这是我的代码: [browsePanel beginWithCompletionHandler:^(NSInteger returnCode) { if (returnC
尝试确定 NSOpenPanel 是否已返回文件或目录 我使用了 Apple 的 fileExistsAtPath: 示例代码,它对于 fontPath 效果很好但似乎不适用于 openpanel不确
我是一名优秀的程序员,十分优秀!