【问题标题】:Where can I get the magnifying glass icon used in UISearchBar?我在哪里可以获得 UISearchBar 中使用的放大镜图标?
【发布时间】:2012-08-04 20:17:12
【问题描述】:

我正在使用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 的某个地方没有更容易访问的放大镜图标吗?

【问题讨论】:

    标签: ios cocoa-touch uitextfield uisearchbar


    【解决方案1】:

    所以,这是带有 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 变体选择器\U000025B6。

    【讨论】:

    • 生成的图像看起来很棒!非常感谢!
    • 谷歌“表情符号”了解更多信息。你的家伙会爱上“表情符号”。例如:apps.timwhitlock.info/emoji/tables/unicode
    • 这是一个很好的解决方案,放大镜是 3d 玻璃,在现代 iOS7 和 iOS8 中,3d 设计已被删除,所有东西都是平面格式。所以设计看起来不一致。但是我们可以使用 UIImage 进行平面设计。
    • @AsifHabib 很好。已编辑。
    • 如何添加 unicode 变体选择器?普通放大镜拿不到。
    【解决方案2】:

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

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

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

    【讨论】:

    • 其实是有unicode字符的!我试过了,看起来不错:fileformat.info/info/unicode/char/1f50d/index.htm
    • 很好...我似乎记得在某个时候无法使该工作正常工作(也许所有操作系统版本的字体都不支持它?)。无论如何,它现在就在那里……它甚至是“彩色的”。所以,用那个。 :)
    【解决方案3】:

    由于无法显示普通的 unicode 放大镜,我决定看看标准的 UISearchBox 使用什么。原来它是放大镜的图像,我已经提取并包含在下面,尽管它是一个非常简单的形状,很难完美复制。

    【讨论】:

      【解决方案4】:

      使用 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
      

      后两者可能是你想要的(假设你需要一张图片)。

      【讨论】:

        猜你喜欢
        • 2013-03-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-02-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多