使用unicode的分数的NSString表示

jrt*_*ton 6 iphone cocoa-touch objective-c nsstring ios

我想在我的iPhone应用程序中"很好地"显示分数.以前我一直使用繁琐的switch语句导致粗俗的unicode字符为粗俗的分数,但我已经了解了unicode分数斜杠字符,如果我正确理解它,应该意味着我可以创建一个字符串如下:

[NSString stringWithFormat:@"%i\u2044%i",numerator,denominator];
Run Code Online (Sandbox Code Playgroud)

并且"渲染器"将使用较小的上标分子和下标分母自动打印它.但是,上面的代码只给我标准的1/2外观.我正在使用drawAtPoint将字符串放在屏幕上.我已经尝试过decomposedStringUsingCanonicalMapping和precomposedStringUsingCanonicalMapping,但说实话,文档丢失了我.

这应该工作还是NSString绘图不能应付这个?

Lil*_*ard 1

我不知道有什么方法可以让 unicode 字符具有您所描述的属性。据我所知,U+2044 与常规斜线的唯一区别是它的角度更大一些,并且两侧几乎没有空间,因此使其与周围的数字更接近。

\n\n

这里有一个关于在 HTML 中使用分数斜杠的页面,正如您所看到的,它演示了如果您尝试自己使用它,您只会得到类似“1\xe2\x81\x8410”的内容。它通过在周围数字上使用HTML 中的<sup><sub>标签来补偿这一点,以获得适当的显示。

\n\n

为了让你让它在 NSString 中工作,你必须自己找出一些方法来将上标和下标应用于周围的数字。

\n