基本上我正在访问此网址
UITextField * textField= self.searchBar.textField;
我们只是说函数.textField确实得到了textField。我已经多次验证了这一点。
textField.adjustsFontSizeToFitWidth =true;
textField.minimumFontSize =10;
textField.enablesReturnKeyAutomatically =NO;
我跟着上面的代码。
当文本太长时,self.searchBar中的UITextField仍然不会改变字体大小。
我想知道为什么。
答案 0 :(得分:1)
尝试获取此类文字字段....
UITextField *textField = [searchbar valueForKey:@"_searchField"];
And then customize it according to you.
textField.adjustsFontSizeToFitWidth =true;
textField.minimumFontSize =10;
textField.enablesReturnKeyAutomatically =NO;
答案 1 :(得分:1)
当您想要更改其他类实例中包含的某个类实例时,应该尝试使用UIAppearance
实例方法。 (寻找视图层次结构就是解决方法)。
[[UITextField appearanceWhenContainedIn:[UISearchBar class], nil] setTextColor:[UIColor blueColor]];
在documentation by Apple中有很好的解释。
答案 2 :(得分:0)
试试这段代码。这样你就可以在UISearchBar中更改和管理UITextField的属性
for (UIView *searchBarSubview in [searchbar subviews])
{
if ([searchBarSubview conformsToProtocol:@protocol(UITextInputTraits)])
{
@try
{
[(UITextField *)searchBarSubview setBorderStyle:UITextBorderStyleRoundedRect];
[[UITextField appearanceWhenContainedIn:[UISearchBar class], nil] setFont:[UIFont fontWithName:@"jots" size:10]];
[[UITextField appearanceWhenContainedIn:[UISearchBar class], nil] adjustsFontSizeToFitWidth];
[[UITextField appearanceWhenContainedIn:[UISearchBar class], nil] enablesReturnKeyAutomatically];
}
@catch (NSException * e)
{
// ignore exception
}
}
}
希望它可以帮助你..