objective-c - 如何获得 NSViews 和 NSControls 的默认插入?

标签 objective-c cocoa interface-builder nsview

我正在编写一些自定义布局代码来对齐一些 NSView。我循环遍历所有 View 并将它们的frame.origin.x 设置为相同的值(左对齐),但 View 看起来没有正确对齐。我在 Interface Builder 中查看了左对齐 View ,每个不同类的 View 都有不同的frame.origin.x 值。

例如,要将 NSPopUpButtonNSTextField 左对齐,NSPopUpButton 的frame.origin.x 值必须为 3像素小于 NSTextField 的像素。

我在 InterfaceBuilderKit.framework 中找到了一个方法 ibLayoutInset,它似乎是我想要的,但没有一个 AppKit View 实现该方法。

有人知道如何以编程方式获取这些插入值吗?

最佳答案

除了衡量自己并建立自己的抵消表之外,您不能。这相当烦人,最好在此处提交错误报告:http://bugreport.apple.com

关于objective-c - 如何获得 NSViews 和 NSControls 的默认插入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5620501/

相关文章:

cocoa - 将文档保存为文件夹,例如 Pages、Numbers 等

ios - 需要用户凭据才能获取访问 token 。请调用非静默的 acquireTokenWithResource 方法

ios - 为 iOS 设置 XMPPFramework

objective-c - iOS 中的 UIControlEvents 可以用 OR 运算吗?

objective-c - 通过后台点击和 Enter 连接两个发件人操作

iphone - NSString 有格式字符串解析器吗?

cocoa - 在 NSScrollView 中使用自定义 View 时的工件

interface-builder - 如何将 "turn off"透明度从 UIView 继承到 IB 中 View 内的控件?

xcode - 在 xib 文件中隐藏主页指示器

cocoa-touch - UITableView 之外的 UITableViewCell