使用TTTAtributedLabel中的核心文本在文本中添加空格

时间:2012-06-25 07:07:26

标签: iphone ios5 uilabel core-text

我在我的应用程序中使用TTTAtributedLabel使文本变为粗体并保持使用自定义字体。现在我想在粗体和非粗体文本之间添加一些5px的空间。我怎样才能做到这一点?我想在1.JANUAR 1934之后添加空间。

enter image description here

提前致谢。

1 个答案:

答案 0 :(得分:1)

使用CTRunDelegate,并将其添加到ns-attribution-string,

  CTRunDelegateCallbacks callbacks;
  callbacks.version = kCTRunDelegateCurrentVersion;
  callbacks.getAscent = ascentCallback;
  callbacks.getDescent = descentCallback;
  callbacks.getWidth = widthCallback;
  callbacks.dealloc = deallocCallback;
  spaceRunDelegate = CTRunDelegateCreate(&callbacks, NULL);

  spacingAttrs = [[NSDictionary dictionaryWithObjectsAndKeys:
                (id)spaceRunDelegate, 
                (NSString*)kCTRunDelegateAttributeName,nil] retain];

  //add the attr to your ns-attributed-string