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

Ios 在哪里可以获得UISearchBar中使用的放大镜图标?,ios,cocoa-touch,uitextfield,uisearchbar,Ios,Cocoa Touch,Uitextfield,Uisearchbar,我正在使用UITextField作为UISearchBar的替代品,并用这个疯狂的代码从原始的UISearchBar中“窃取”放大镜图标: UISearchBar *originalSearchBar = [[UISearchBar alloc] init]; for (UIView *searchBarSubview in [originalSearchBar subviews]) { if([searchBarSubview isKindOfClass:[UI

我正在使用
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中是否有一个更容易访问的放大镜图标?

我不知道Cocoa中有任何标准图像(Unicode中也没有字符)

但是,此图像是Dock捆绑包的一部分:

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

下面是使用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风格的简单外观,请使用OSX 10.7.5添加Unicode变体选择器
\U000025B6

,我找不到ectl\u search\u magnize.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

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

由于无法显示普通的unicode放大镜,我决定看看标准的
UISearchBox使用了什么。事实证明这是一个放大镜的图像,我在下面提取并包括了它,尽管它是一个非常简单的形状,要完美地复制它是很容易的


实际上,有一个unicode字符!我试过了,它看起来不错:不错……我似乎记得在某一点上做起来有困难(可能不是所有操作系统版本的字体都支持它?)。不管怎样,它现在就在那里……它甚至是“彩色的”。因此,请使用该选项。:)生成的图像看起来很棒!谢谢!谷歌“表情符号”获取更多信息。你们会爱上“表情符号”。例如:这是一个很好的解决方案,有一个问题,放大镜是3d玻璃,在现代的iOS7和iOS8中,3d设计已经被删除,所有东西都是平面格式的。因此,设计看起来并不一致。但我们可以使用UIImage进行平面设计。@AsifHabib很好。已编辑。如何添加unicode变体选择器?拿不到普通的放大镜。