在Apple的iPhone应用程序(如Contacts)中,它们在表视图索引的顶部有一个很好的放大镜图标.由于表视图索引API是基于字符的,我假设此放大镜是Unicode字符.到目前为止,我已经在那里放置了一个问号角色,但这看起来很蹩脚.
谁能告诉我放大镜的特点是什么?
UITableViewIndexSearch
作为部分索引标题返回(与@"{search}"相同)也有效.
@"{search}"
FTW.
返回该标题,它被神奇的字形神奇地取代.
在tableView中:sectionForSectionIndexTitle:AtIndex:显式滚动到顶部并返回NSNotFound:
- (NSInteger) tableView:(UITableView *)tableView sectionForSectionIndexTitle:(NSString *)title atIndex:(NSInteger)index { if (index == 0) { [tableView setContentOffset:CGPointZero animated:NO]; return NSNotFound; } return index; }
已经存在用于放大镜的UTF码点.这是U + 1F50D.然而,让Xcode识别这个数字有点棘手.根据Apple的字符串编程指南,UTF位应分为两个UTF-16代理对(0xD83D,0xDD0D).请查看此代理对计算器以供参考.
具有代理对的内容的NSString实例可以通过以下方式获得:
[NSString stringWithFormat:@"%C%C", 0xD83D, 0xDD0D];