更改以编程方式创建的UISearchBar的字体

时间:2013-08-06 01:46:37

标签: ios uisearchbar

我发现我AppDelegate中的代码:

[[UITextField appearanceWhenContainedIn:[UISearchBar class], nil]
 setFont:[UIFont systemFontOfSize:14]];

用于更改从IB创建的UISearchBar的字体。没问题。

但是,如果我在代码中创建UISearchBar

UISearchBar *bar = [[UISearchBar alloc] initWithFrame:CGRectMake(0, 0, 320, 44)];
bar.placeholder = @"test";
[self.view addSubview:bar];

然后上面的UITextField外观代码无效。有没有办法更改以编程方式创建的UISearchBar

的字体

谢谢!

3 个答案:

答案 0 :(得分:4)

试试这个,它适用于iOS 5.0及以上版本:(也是iOS 7)

[[UITextField appearanceWhenContainedIn:[UISearchBar class], nil] setFont:[UIFont fontWithName:@"League Gothic" size:20]];

答案 1 :(得分:0)

你可以试试这个

UITextField *textField = [[searchBar subviews] objectAtIndex:1];
[textField setFont:[UIFont fontWithName:@"Helvetica" size:25]];

以获取更多参考检查this

答案 2 :(得分:0)

您可以使用此

UITextField *textField = [self.searchBar valueForKey: @"_searchField"];
[textField setFont:[UIFont fontWithName:@"HelveticaNeue-Light" size:17.0]];

希望这会有所帮助。