在 iOS 7 中自定义 UISearchBar
Posted
技术标签:
【中文标题】在 iOS 7 中自定义 UISearchBar【英文标题】:Customising UISearchBar in iOS 7 【发布时间】:2013-09-24 09:48:17 【问题描述】:我有一个UISearchBar
,我想自定义其外观。 this post 中的建议在更新到 ios 7 之前有效。但现在我不知道该怎么做。我主要想自定义取消按钮。有人知道怎么做吗?
【问题讨论】:
这里回答的问题:***.com/questions/18956255/… 在 iOS 7 中不起作用。回答该问题的人提到他只在 iOS 6 上尝试过。 看看我对那个问题的回答。试过了,它适用于 iOS 7 :) 递归方法奏效了!谢谢你。也许你应该把它贴在这里,这样我才能接受答案。 :) 【参考方案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。
可能。我也会试试的。以上是关于在 iOS 7 中自定义 UISearchBar的主要内容,如果未能解决你的问题,请参考以下文章