我正在使用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的某个地方是不是有一个更容易使用的放大镜图标?
答案 0 :(得分:25)
所以,这是带有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
。
答案 1 :(得分:3)
我在Cocoa中不知道它的任何标准图像(并且在Unicode中也没有它的字符)。
此图像是Dock捆绑包的一部分,但是:
/System/Library/CoreServices/Dock.app/Contents/Resources/ectl_search_magnify.png
答案 2 :(得分:1)
答案 3 :(得分:0)
使用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
后两种可能是你想要的(假设你需要一张图片)。