1

Textfield の色合いを青色に変更し、UISearchBar のキャンセル ボタンの色合いを白色に変更したいと考えています。

以下のコードを使用しています。

for (UIView *subView in searchBar.subviews)
{
    for (UIView *ndLeveSubView in subView.subviews)
    {
        if([ndLeveSubView isKindOfClass:[UITextField class]])
        {
            [(UITextField *)subView setTintColor:[UIColor blueColor]];
        }
        else if ([ndLeveSubView isKindOfClass:[UIButton class]])
        {
            [(UIButton *)subView setTintColor:[UIColor whiteColor]];
        }
    }
}

ただし、これにより、テキストフィールドとキャンセルボタンの両方の色合いが白に変わります。誰でも別の方法を提案できますか?

これが私が得ているものです...

ここに画像の説明を入力

TextFieldのティントカラーも白……。

4

4 に答える 4

4
UITextAttributeTextColor

iOS 7 SDK では廃止されました。NSForegroundColorAttributeName代わりに使用してください。そのようです:

[[UIBarButtonItem appearanceWhenContainedIn:[UISearchBar class], nil]
     setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:
                             [UIColor whiteColor],NSForegroundColorAttributeName,
                             [NSValue valueWithUIOffset:UIOffsetMake(0, 1)],NSForegroundColorAttributeName,nil] forState:UIControlStateNormal];

UISearchBar が UINavigationBar にある場合 - これを行うことができます:

[[UIBarButtonItem appearanceWhenContainedIn:[UINavigationController class], nil]
     setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:
                             [UIColor whitecolor] ,NSForegroundColorAttributeName,
                             [NSValue valueWithUIOffset:UIOffsetMake(0, 1)],NSForegroundColorAttributeName,nil] forState:UIControlStateNormal];
于 2014-03-12T09:31:14.980 に答える
0
[[UIBarButtonItem appearanceWhenContainedIn: [UISearchBar class], nil] setTintColor:[UIColor whiteColor]];
于 2015-04-29T22:48:59.573 に答える