在iOS 7中自定义UISearchBar

时间:2013-09-24 09:48:17

标签: ios objective-c ios7 uisearchbar

我想要自定义UISearchBar的外观。 this post中的建议在iOS 7更新之前有效。但现在我不知道该怎么做。我主要想自定义取消按钮。有人知道吗?

1 个答案:

答案 0 :(得分:2)

您需要递归搜索按钮。这应该是一种自动防故障方式:

- (void)viewDidLoad
{
    [super viewDidLoad];

    [self convertButtonTitle:@"Cancel" toTitle:@"Annuller" inView:self.searchBar];
}

- (void)convertButtonTitle:(NSString *)from toTitle:(NSString *)to inView:(UIView *)view
{
    if ([view isKindOfClass:[UIButton class]])
    {
        UIButton *button = (UIButton *)view;
        if ([[button titleForState:UIControlStateNormal] isEqualToString:from])
        {
            [button setTitle:to forState:UIControlStateNormal];
        }
    }

    for (UIView *subview in view.subviews)
    {
        [self convertButtonTitle:from toTitle:to inView:subview];
    }
}

我在iOS 7上测试了这个,但是它也适用于iOS 6。