2014-02-13 60 views
1

的UITextField的性能基本上我訪問這個URL如何更改裏面的UISearchBar

UITextField * textField= self.searchBar.textField; 

讓我們只說功能.textField並得到文本框。我已經多次驗證了這一點。

textField.adjustsFontSizeToFitWidth =true; 
textField.minimumFontSize =10; 
textField.enablesReturnKeyAutomatically =NO; 

我跟着上面的代碼。

仍然在self.searchBar中的UITextField在文本太長時不會更改字體大小。

我想知道爲什麼。

+0

嘗試繼承'MySearchBar:UISearchBar'和'layoutSubviews'定製方法。 – Akhilrajtr

+0

我應該怎麼做? –

回答

1

嘗試讓你的文本字段這樣的....

UITextField *textField = [searchbar valueForKey:@"_searchField"]; 

And then customize it according to you. 

textField.adjustsFontSizeToFitWidth =true; 
textField.minimumFontSize =10; 
textField.enablesReturnKeyAutomatically =NO; 
+0

我知道如何獲得textField。例如,我可以讓它正確對齊。但是,我無法使文本字段中的字體自動調整。 –

1

,當你想改變它包含在其他類的實例一些類的實例,您應該嘗試使用UIAppearance實例方法。 (尋找視圖層次結構是解決方法)。

[[UITextField appearanceWhenContainedIn:[UISearchBar class], nil] setTextColor:[UIColor blueColor]]; 

這裏在documentation by Apple有很好的解釋。

0

試試這個code..This方式可以在裏面的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 
     } 
    } 
} 

希望它可以幫助你..

相關問題