0

我发现我的代码AppDelegate

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

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

但是,如果我这样创建UISearchBarin 代码:

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

那么上面的UITextField外观代码就没有效果了。有没有办法改变以编程方式创建的字体UISearchBar

谢谢!

4

3 回答 3

4

试试这个,它适用于 iOS 5.0 及更高版本:(也适用于 iOS 7)

[[UITextField appearanceWhenContainedIn:[UISearchBar class], nil] setFont:[UIFont fontWithName:@"League Gothic" size:20]];
于 2013-10-03T13:34:05.767 回答
0

你可以试试这个

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

如需更多参考,请检查

于 2013-08-06T04:53:13.163 回答
0

你可以用这个

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

希望这会有所帮助。

于 2015-11-10T08:32:40.873 回答