NSTextFieldCell 垂直居中?

发布于 2024-10-17 23:26:13 字数 232 浏览 2 评论 0 原文

我有一个 NSTableView,我使用以下代码更改行的高度:

- (CGFloat)tableView:(NSTableView *)tableView heightOfRow:(NSInteger)row
{
    return 32;
}

问题是,我的文本单元格仍然与单元格的顶部对齐,使其看起来很尴尬。我一直无法弄清楚如何将其垂直居中。还有其他人找到解决这个问题的方法吗?

I have an NSTableView where I am changing the height of the rows with the following code:

- (CGFloat)tableView:(NSTableView *)tableView heightOfRow:(NSInteger)row
{
    return 32;
}

The problem is, my text cells are still being aligned to the top of the cell, making it look awkward. I havent been able to figure out how to vertically center it. Has anyone else found a solution to this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

吃素的狼 2024-10-24 23:26:13

请参阅“是否有一种“正确”的方法让 NSTextFieldCell 绘制垂直居中的文本?

目前没有仅使用公共 API 的简单方法。上面链接的问题提到,未记录的 _cFlags.vCentered 字段是使其工作的最快路径,尽管它不受支持并且不能保证正确工作。另外,请注意,重写方法会导致您的代码与 AppKit 的做法不同。

我刚刚为此提交了一个 Radar:

http://openradar.appspot.com/9028329 添加公共 API对于 NSCell 中垂直居中的文本


编辑:以下是一些其他相关资源:

http://www.red-sweater.com/blog/148/what-a-difference-a-cell-makes

http://www.cocoabuilder.com/archive/cocoa/174994-repositioning-an-nstextfieldcell.html

See "Is there a “right” way to have NSTextFieldCell draw vertically centered text?"

There is currently no easy way using only public API. The question linked above mentions that the undocumented _cFlags.vCentered field is the quickest path to making it work, although it's unsupported and isn't guaranteed to work correctly. Also, be aware that overriding methods will cause your code to diverge from what AppKit does.

I just filed a Radar for this:

http://openradar.appspot.com/9028329 Add public API for vertically centering text in NSCell


EDIT: Here are some additional related resources:

http://www.red-sweater.com/blog/148/what-a-difference-a-cell-makes

http://www.cocoabuilder.com/archive/cocoa/174994-repositioning-an-nstextfieldcell.html

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文