objective-c - 如何在 View 中居中 NSTextField

标签 objective-c xcode cocoa interface-builder nstextfield

我有一个以 IB 为中心的 NSTextField(标签),其文本为“__DRAG_AND_DROP_YOUR_MEDIA_HERE”。在我的 Controller 中使用 NSLocalizedString 来翻译文本:

English.lproj/Localizable.strings :

"__DRAG_AND_DROP_YOUR_MEDIA_HERE" = "Drag & Drop your media here"

French.lproj/Localizable.strings :

"__DRAG_AND_DROP_YOUR_MEDIA_HERE" = "Déposer vos média ici"

只有初始文本“__DRAG_AND_DROP_YOUR_MEDIA_HERE”在 View 中居中。翻译后的文本不是 centerrd(取决于长度)。所有翻译后的文本都从与原始文本相同的横坐标 x 开始。我该如何解决这个问题?

PS:我不想仅仅为了这样一个简单的点而使用 setFrame、height、width。我想还有另一种方法可以做到这一点。

谢谢。

最佳答案

将文本字段的对齐方式设置为 NSCenterTextAlignment。您可以从 IB 或使用 -setAlignment: 以编程方式执行此操作。

关于objective-c - 如何在 View 中居中 NSTextField,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10868480/

相关文章:

iphone - 在 iOS4 中存储配置的最佳方式是什么?

iphone - xcode4中CFNetwork.framework被误删除

macos - 绑定(bind) nsrect 和 nstextfield

objective-c - 使用 GL3_Text 示例方法在 Mac OSX 上的 OpenGL 中绘制文本

objective-c - 更改 block 内 NSString 的值

ios - NSLog根本不显示

swift - Xcode 6x 和 7x 之间的 configureCell 不同

iphone - Objective C - 在字符串的特定部分添加字符

cocoa - "com.apple"自定义文件格式的 UTI

ios - 如何以编程方式从 UIView 获取约束