以编程方式创建的窗口居中

2024-01-01

我一直在使用这里的示例来创建一个自定义的无标题栏窗口:

在 Mac OS X 上绘制自定义窗口 http://cocoawithlove.com/2008/12/drawing-custom-window-on-mac-os-x.html

我发现这是我在 Leopard、Snow Leopard 和 Lion 中创建无标题栏窗口的唯一方法,其他方法在 Leopard 或 Lion 上都不起作用。 (如果我尝试通过普通 NSWindow 和 IB 调用无标题栏窗口,它将不再在 Leopard 中启动)

到目前为止,这个自定义的无标题栏窗口在任何地方都可以很好地工作,但我无法将其居中,只能在 Interface Builder 中进行硬固定位置。

使用 [window center] 将普通 NSWindow *window 实现居中是相当容易的,但我发现没有任何东西可以在这个自定义窗口子类上工作,该窗口不是通过 Interface Builder 从 nib 创建的。

我尝试过一些事情NSWindow https://developer.apple.com/documentation/appkit/nswindow,但似乎没有任何作用。

有任何想法吗?


CGFloat xPos = NSWidth([[window screen] frame])/2 - NSWidth([window frame])/2;
CGFloat yPos = NSHeight([[window screen] frame])/2 - NSHeight([window frame])/2;
[window setFrame:NSMakeRect(xPos, yPos, NSWidth([window frame]), NSHeight([window frame])) display:YES];

这会将其放置在屏幕的正中央,而不考虑停靠栏和菜单栏占用的空间。如果你想这样做,请改变[[window screen] frame] to [[window screen] visibleFrame].

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

以编程方式创建的窗口居中 的相关文章

  • iOS 版有 Parse.com 的替代品吗? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我目前使用 parse com 来管理用户 他们有很棒的 AP I 有不错的后端供我管理东西 但我更愿意托管我自己的数据 服务器后端 我可
  • Xcode 愚蠢警告:视图正在裁剪其内容

    我在 Xcode 4 中收到这个愚蠢的警告 Clipped Content View is clipping its content 如果我创建一个无边框斜角按钮 其图像大于按钮本身 为什么 我怎样才能抑制它 我也遇到了类似的灰色警告问题
  • 如何显示从 xib 加载的工作表? (MacOSx)

    我有一个 xib 文件 其中只有一个 NSPanel 我试图将此面板显示为模式表 带有beginSheet modalForWindow modalDelegate didEndSelector contextInfo 该 xib 文件的所
  • 如何判断相机是否正在被其他进程使用?

    在 OS X 中 如何判断摄像头或麦克风是否正在被其他应用程序或进程使用 除非其他应用程序锁定了设备 否则以下操作似乎不起作用 NSArray devices AVCaptureDevice devices for AVCaptureDev
  • 没有编辑菜单的对话框中的 Cocoa 键盘快捷键

    我有一个LSUIElement显示菜单栏状态项的应用程序 应用程序可以显示包含文本字段的对话窗口 如果用户右键单击 按住 Control 键单击文本字段 则会出现一个菜单 允许剪切 复制 粘贴等 但是 标准 Command X Comman
  • 阻止 NSView 实例接收鼠标事件

    我在窗口中有一个 NSView 并且核心动画层已打开 我时常使用此视图来显示带有动画的图像 我需要整个视图作为后层 而不仅仅是图像 在这个我称为 AnimationBaseView 的视图后面是用户交互的其他视图 一切都很好 除了 Anim
  • 当日期改变时 NSNotification?

    WebKit 的 WebHistory API 按日期分隔其项目 因此 当日期发生变化时 我需要重新分配任何 昨天 和 或 早些时候 今天 或 明天 标签 有 NSNotification 吗 或者我必须依赖 NSTimer 还是 perf
  • [NSDictionary getObjects:andKeys:] 的示例

    我找不到该方法的工作示例 NSDictionary getObjects andKeys 唯一的example http www mail archive com cocoa dev lists apple com msg24959 htm
  • 如何使用 Cocoa Autolayout 根据优先级调整两个子视图的大小?

    我正在 Cocoa 中使用自动布局 有些事情对我来说并不清楚 我在一个窗口上有 2 个视图 每个视图的宽度是父窗口宽度的1 2 View1 View2 如果我调整窗口大小 我希望首先调整 View2 的大小 View1 View2 当 Vi
  • 具有同步功能的 iPhone 离线应用程序

    我正在考虑构建一个可以在离线状态下和在线状态下一样运行的应用程序 由于应用程序在离线状态下无法与服务器通信 因此需要进行某种程度的同步 在规划 iPhone 同步离线操作时 有哪些值得阅读和开始思考的好工具 与苹果已经提供的工具来帮助解决这
  • 如何遍历 macOS 中其他应用程序的窗口/视图层次结构?

    我试图弄清楚如何获取 只读 任何应用程序的整个窗口 视图层次结构 我使用以下方式获取所有打开的窗口的列表CGWindowListCopyWindowInfo 它还返回窗口号 kCGWindowNumber 它还通过以下方式显示根窗口的共享状
  • 调用 AXIsProcessTrustedWithOptions 的临时权利

    当我在沙盒程序中调用 AXIsProcessTrustedWithOptions 时 请求权限的对话框未打开 并且我在控制台中收到 sandbox Deny 1 mach lookup com apple universalaccessAu
  • 检查 u 键是否被按下 Swift Cocoa [重复]

    这个问题在这里已经有答案了 我正在尝试检测是否U键是否被按下 如果是的话应该print BUT BUT 但我不确定如何检查不同的按键 因为按键的文档非常糟糕 我找到了带有键码的答案 但它们仅适用于 QWERTY 键盘 视图控制器 swift
  • 从一个 NSManagedObjectContext 保存的更改不会反映在主 NSManagedObjectContext 上

    我有一个主NSManagedObjectContext是在appDelegate 现在 我正在使用另一个NSManagedObjectContext用于编辑 添加新对象而不影响主对象NSManagedObjectContext 直到我拯救它
  • NSPersistentStoreCoordinator 线程安全吗?

    我正在开发一个使用 Core Data 的 iPhone 应用程序 该应用程序调用 Web 服务 解析生成的 XML 文件 然后在我的应用程序中创建或修改 Core Data 对象 我已经处理了 Web 服务调用并异步解析 但我一直将解析后
  • 为什么 NSToolbarItem 自动被禁用?

    我的 Mac 幻灯片应用程序工具栏中的按钮有点问题 我希望在没有活动幻灯片时禁用这些按钮 在有活动幻灯片时启用这些按钮 为了实现这一点 我设置了按钮isEnabled财产给false在开始时 我已经尝试过 Interface Builder
  • NSTextField:当用户单击文本字段之外时结束编辑

    我有一个NSTextField我根据用户操作设置可编辑 我想在用户单击窗口内文本字段之外的任何位置时结束编辑 看起来很简单 但我无法让它发挥作用 我实施了controlTextDidEndEditing and textDidEndEdit
  • 最近打开的应用程序[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 有什么方法可以获取最近打开的应用程序 例如 4 个 的列表吗 如果是这样 怎么办 可可麦克 看看LaunchServices LSSh
  • 如何将 UILabel 的值绑定到实例变量?

    我是 mac objective c 的新手 我的问题是 我想知道是否可以将 UILabel 文本绑定到变量 而不必在值更改时手动设置文本 例如 在 Mac OS 上 当我打开新的 Finder 窗口并删除文件时 任务栏中的全局可用空间就会
  • 如何在 NSTextView 中使用 SPACE 而不是 TAB

    我只知道如何修改 NSTextView 中的制表符宽度 NSMutableParagraphStyle paragraphStyle self defaultParagraphStyle mutableCopy paragraphStyle

随机推荐

  • 保存图像叠加层,并在下方使用相机捕获的图像

    我的应用程序有一个 照相亭 功能 允许用户使用相机拍照 同时在相机视图顶部显示叠加图像 拍摄照片后 我需要将用户在拍摄照片时看到的内容保存到文件系统中 我在开发解决方案时遇到了一个大问题 捕获具有兼容尺寸的图像 在其中我可以附加覆盖图像以产
  • 如何以编程方式触发可拖动行为

    我在 jQuery 中创建了一个 2d 滑块 其中通过在边界框中拖动 手柄 来同时操作 2 个参数 我通过在父 div 中嵌套一个 handle div 并使用 jQuery UI 插件来促进拖动行为来实现这一点 html 看起来像 div
  • 如何在 Python 中复制像元组这样的不可变对象?

    copy copy and copy deepcopy 只需复制不可变对象 如元组 的引用即可 如何在不同的内存位置创建第一个不可变对象的重复副本 您正在寻找deepcopy from copy import deepcopy tup 1
  • 试图弄清楚这段代码是否通过使用单例带来了任何好处

    我正在开发一个项目 其中一位共同开发人员 和以前的开发人员 对类的几乎每个页面都使用 Singleton Facade 其中有很多方法调用 但实际上并没有维护数据 例如 public class FooFacade private stat
  • m2e 不支持 maven-dependency-plugin (目标“复制依赖项”、“解包”)

    我有一个相当简单的 Maven 项目
  • 将状态从子组件传递到父组件

    是否有任何正确的方法来访问子组件状态下的属性并从父组件获取其值 我有一个名为 itemSelection 的组件 我在其中通过 api 响应进行映射以获取像这样的一些项目 div this state items map i gt div
  • PHP Excel - 您尝试打开的文件 .xls 的格式与文件扩展名指定的格式不同

    早上好 我使用 API JASPER JasperClient php 其中我使用函数 runReport 返回 xls 在 php 代码中我想从服务器下载 Excel 文件 设置标题 header 内容类型 application vnd
  • 如何让 Bazel、ccache 和沙箱协同工作(ccache 只读文件系统)

    我正在尝试使用通过 copr 安装的 Bazel 0 16 1 和通过 DNF 安装的 ccache 3 4 2 在 Fedora 28 上构建 C 应用程序 我使用默认的 cc binary 和 cc library 规则 当我运行 ba
  • 最小的 Android SDK

    我想我可以通过反复试验找到答案 但其他人可能已经弄清楚了 构建 Android 项目需要哪些 Android SDK 文件 我不需要其余的 并且喜欢将它们剥离 如果您从不使用任何文档 则可以安全地删除 0 5 GB 的文档 您还可以确保仅安
  • 将 Trait 值传递给 SubFactory Django

    我有两个工厂 class DispatchDataFactory factory django DjangoModelFactory class Meta model models DispatchData order factory Se
  • Snowflake date_trunc 从日期中删除时间

    我有雪花列 其中包含 yyyy mm dd hh MM ss 格式的日期 我使用下面的函数 date trunc DAY 2019 09 23 12 33 25 输出 2019 09 23 00 00 00 预计按照文档 https doc
  • 在 C# 中使用参数的成本

    有人对在 C 中使用 params 进行方法参数传递有建议吗 我正在考虑使用 params 功能对前 6 个参数进行重载 然后对第 7 个参数进行重载 我的理由是避免参数功能所需的额外数组分配 这是针对一些高性能实用方法的 有什么建议吗 创
  • 用随机颜色填充封闭区域 - Haskell - 星期五

    我正在尝试执行不是很复杂的图像分析 以尝试找到不同的形状并计算它们的一些参数 例如面积和周长 以像素为单位 并且我正在尝试在 Haskell 中执行此操作 我想这样做是为了尝试使用函数式编程语言 The first task in line
  • 使用gson反序列化对象的特定JSON字段

    我有以下 JSON 字符串 ms images 5160 1 turl http ts1 mm bing net th id I4693880201938488 pid 1 1 height 178 width 300 imgurl htt
  • MySQL C# 连接字符串故障转移

    我知道我可以用逗号分隔连接字符串中的主机 它将使用不同的服务器 https www connectionstrings com mysql connector net mysqlconnection multiple servers htt
  • 是否可以仅在我的项目中使用 Django models 模块?

    我正在开发一个使用 Celery 的小型独立 python 应用程序 我使用 django 框架构建了这个 但我的应用程序只是后端 这意味着用户不需要访问我的网站 并且我的应用程序只是为了从 celery 接收任务队列并对数据库执行操作而构
  • 在哪里指定窗口组件的位置?

    我在 netBeans 平台中创建了模块 然后在那里创建了窗口组件 我想指定主窗口中的默认位置 例如职位 编辑 我在哪里可以做 在 NetBeans 7 下 从 输出 位置更改为 编辑器 位置 在您的 Window 类中 更改注释 TopC
  • 有哪些适合初学者的优秀 Erlang 入门/教程?

    有哪些可以深入了解 Erlang 和函数式编程的好链接 这可能值得一看http learnyousomeerlang com http learnyousomeerlang com
  • Xml 架构:空 targetNamespace

    在 Xml 架构中不使用 targetNamespace 属性或使用空属性是否合法 如果是这样 那么这意味着什么 我们是在 空命名空间 始终存在 中 添加 一些东西 还是创建一个与其他模式无关的 匿名命名空间 实例 xml 文档是什么样子的
  • 以编程方式创建的窗口居中

    我一直在使用这里的示例来创建一个自定义的无标题栏窗口 在 Mac OS X 上绘制自定义窗口 http cocoawithlove com 2008 12 drawing custom window on mac os x html 我发现