我在哪里可以得到UISearchBar中使用的放大镜图标?

我正在使用UITextField作为UISearchBar替代品,并用这个疯狂的代码从原始的UISearchBar “偷取”放大镜图标:

  UISearchBar *originalSearchBar = [[UISearchBar alloc] init]; for (UIView *searchBarSubview in [originalSearchBar subviews]) { if([searchBarSubview isKindOfClass:[UITextField class]]) { UITextField *textField = (UITextField *)searchBarSubview; [_textField setLeftView:[textField leftView]]; [_textField setLeftViewMode:UITextFieldViewModeAlways]; } } 

正如你可能猜到的,我不想用我自己的位图。

在Cocoa的某个地方没有更容易获得的放大镜图标吗?

所以,这里是unicode字符的代码:

  UILabel *magnifyingGlass = [[UILabel alloc] init]; [magnifyingGlass setText:[[NSString alloc] initWithUTF8String:"\xF0\x9F\x94\x8D"]]; [magnifyingGlass sizeToFit]; [textField setLeftView:magnifyingGlass]; [textField setLeftViewMode:UITextFieldViewModeAlways]; 

编辑:对于适合iOS 7风格的简单外观,请添加Unicode变体select器\U000025B6

我不知道它在Cocoa中的任何标准图像(并且在Unicode中没有任何字符)。

一个图像是Dock包的一部分,但是:

 /System/Library/CoreServices/Dock.app/Contents/Resources/ectl_search_magnify.png 

由于我不能得到一个简单的unicode放大镜出现,我决定看看一个标准的UISearchBox使用什么。 事实certificate,这是一个放大镜的图像,我已经提取并包括在下面,虽然这是一个非常简单的形状,这将是微不足道的重现完美。

2x搜索 3倍搜索

使用OSX 10.7.5我找不到ectl_search_magnify.png,但是很简单

 find /System -ipath '*magni*' 

发现:

 /System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/MagnifyingGlassIcon.icns /System/Library/PrivateFrameworks/ProKit.framework/Versions/A/Resources/LionPanels.bundle/Contents/Resources/Dark_NSSmallMagnifyingGlass.tiff /System/Library/PrivateFrameworks/ProKit.framework/Versions/A/Resources/LionPanels.bundle/Contents/Resources/Night_NSSmallMagnifyingGlass.tiff 

后两个可能是你想要的(假设你需要一个图像)。