我发现我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
?
谢谢!
答案 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]];
希望这会有所帮助。