cocoa - 标签对齐

标签 cocoa nstextfield

for(int j=0;j<featuresKeyCount;j++)     {
    NSString *str1=[featuresKey objectAtIndex:j];
    NSString *str2=[str1 stringByAppendingString: @":"];   
}

在上面的代码中我得到

str1= Phone No
      Projector
      VCD
      LCD
      Polycom
      Digital Phone
      Speaker Phone

In str2 = Phone No:
      Projector:
      VCD:
      LCD:
      Polycom:
      Digital Phone:
      Speaker Phone:

但我想要这样的输出:

                                 Phone No     :
                                 Projector    :
                                 VCD          :
                                 LCD          :
                                 Polycom      :
                                 Digital Phone:
                                 Speaker Phone:

对此有何建议。

最佳答案

即使从最长的字符串中计算字符数,也永远不会在文本中得到相同的空格。

假设长度为3。那么“aaa”和“iii”这两个字符的长度/大小将不一样,因为每个字符占用不同的空格。

可能的解决方案如下:

为一个对象创建两个文本字段,如

"First                "  ":"
"Second               "  ":"
"This is too long to  "  ":"

使第一个标签足够长并仅存储文本,其对应部分仅包含“:”。

或者另一种方法是右对齐(但这不是苹果指南所推荐的),如下:

"                First:"  
"               Second:"  
"  This is too long to:"  

关于cocoa - 标签对齐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15020819/

相关文章:

php - json_encode 不双引号 NULL ; cocoa touch 不当

swift - NSUserDefaultsController : "Attempt to set a non-property-list object ... as an NSUserDefaults/CFPreferences value for key ..."

objective-c - 以标准播放速率获取原始音频数据

objective-c - 如何为正确的构建系统自动选择 NSColor 和 UIColor? (使用#define 或其他东西)

macos - NSTextField 上奇怪的字体行为

objective-c - OSX Cocoa - 如何测试多个 NSTextField 中的更改

cocoa - 打印 NSImage

cocoa - 使 NSWindow.isMovableByWindowBackground 与 NSTextField 一起使用

xcode - 无法在 AppDelegate 之外的其他类中更改 NSTextField 的字符串值

objective-c - NSTextField 中的 NSButton