7

私は代替として使用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 のどこかに、アクセスしやすい虫眼鏡アイコンはありませんか?

4

4 に答える 4

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

于 2012-08-05T10:09:33.663 に答える
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

後者の 2 つはおそらく必要なものです (画像が必要であると仮定します)。

于 2013-06-27T15:56:41.627 に答える