0

我试图在 UIAlectAction 中放置两个 Unicode 符号。我应该有两个圆圈,一个是空的,另一个是满的。我目前的代码是:

NSString *unicodeStar = [NSString stringWithFormat:@"%C %C", 0x25CB,0x25CF];


    UIAlertAction* star = [UIAlertAction
                                 actionWithTitle:unicodeStar
                                 style:UIAlertActionStyleDefault
                                 handler:^(UIAlertAction * action)
                                 {

                                 [view dismissViewControllerAnimated:YES completion:nil];

                                 }];
    [view addAction:star];

根据Unicode 字符表,这两个符号应该具有相同的维度,但实际结果是:

在此处输入图像描述

所有其他圆圈具有相同的尺寸。我错过了什么?

4

1 回答 1

2

这是警报视图使用的字体。如果您在 OS X 中使用字符查看器,当您查看“White Circle”字符时,它会在您机器上的所有字体中显示相同的字符,并且您可以看到它有很多不同的大小,具体取决于字体。

由于无法更改警报视图使用的字体,因此最好的选择是选择两个不同的字符。有几个未填充的圆圈字符和几个填充的圆圈字符。尝试各种组合,直到找到两个以警报视图使用的标准系统字体大小相同的组合。

更新:

这是两个大小相同的:

NSString *unicodeStar = @"⚪︎ ⚫︎";

空心圆圈是“MEDIUM WHITE CIRCLE”(U+26AA U+FE0E),实心圆圈是“MEDIUM BLACK CIRCLE”(U+26AB U+FE0E)。

于 2015-01-21T18:04:16.250 回答