gpt4 book ai didi

cocoa 控制文本位置?

转载 作者:行者123 更新时间:2023-12-03 16:39:53 25 4
gpt4 key购买 nike

是否可以获取在标准(非自定义)Cocoa 控件中绘制文本的坐标?实际上,我需要文本的基线,即 y 轴偏移值(相对于 View 框架矩形的 y 原点)。这是选择“布局”->“显示布局矩形”时界面生成器在设计 Pane 上显示的内容。

最佳答案

不幸的是,没有一个解决方案适用于所有控件和单元格。您应该能够使用以下方法获得此信息的良好近似值:

-[NSCell titleRectForBounds:]
-[NSCell font]
-[NSFont ascender]

这是一些适用于 NSButton/NSButtonCell 的代码

NSRect titleRect = [[button cell] titleRectForBounds:[button bounds]];
CGFloat baseline = ceil(NSMinY(titleRect) + [[[button cell] font] ascender]);

此时,基线位于按钮(边界)坐标空间中。您可能想使用 -[NSView ConvertPoint:toView:]; 将其转换为其他空间;

此外,其中的“ceil”是一个近似值。并非所有控件都会这样做。有些可能会取整或使用其他舍入函数。或者他们的标题布局可能完全不同,并且这种近似方法不起作用。

关于 cocoa 控制文本位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1150484/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com