我在哪里可以获得 UISearchBar 中使用的放大镜图标?
Posted
技术标签:
【中文标题】我在哪里可以获得 UISearchBar 中使用的放大镜图标?【英文标题】:Where can I get the magnifying glass icon used in 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 的某个地方没有更容易访问的放大镜图标吗?
【问题讨论】:
【参考方案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
后两者可能是你想要的(假设你需要一张图片)。
【讨论】:
以上是关于我在哪里可以获得 UISearchBar 中使用的放大镜图标?的主要内容,如果未能解决你的问题,请参考以下文章
我在哪里可以获得有关如何使用 Apollo 和 GraphQL 获取数据的文档?