【问题标题】:Customising UISearchBar in iOS 7在 iOS 7 中自定义 UISearchBar
【发布时间】:2013-09-24 09:48:17
【问题描述】:

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

【问题讨论】:

  • 在 iOS 7 中不起作用。回答该问题的人提到他只在 iOS 6 上尝试过。
  • 看看我对那个问题的回答。试过了,它适用于 iOS 7 :)
  • 递归方法奏效了!谢谢你。也许你应该把它贴在这里,这样我才能接受答案。 :)

标签: ios objective-c ios7 uisearchbar


【解决方案1】:

您需要递归搜索按钮。这应该是一种万无一失的方法:

- (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 上也可以正常工作。

【讨论】:

  • 谢谢,另外,我似乎无法更改取消按钮的框架。知道为什么吗?
  • 不,还没有机会尝试。也许尝试在viewDidLayoutSubviews 中更改它?
  • 嗯。当然。我会试一试。谢谢。 :)
  • 那么它可能需要子类化 UISearchBar。
  • 可能。我也会试试的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-11-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-29
相关资源
最近更新 更多