2013-04-11 13 views
14

Ich versuche, UISearchBar Schriftart über Aussehen Proxy anpassen. Es funktioniert, aber irgendwie ist der Platzhaltertext nicht vertikal zentriert. Ich habe versucht, die Eigenschaft für die vertikale Ausrichtung festzulegen. Der Platzhaltertext würde zentriert werden, aber der eingegebene Text würde etwas unterhalb der Mittellinie liegen ... Gibt es eine Möglichkeit, das zu beheben?Platzhaltertext in UITextField von UISearchBar falsch ausgerichtet

Edit: Code I verwendet benutzerdefinierte Schriftart hinzuzufügen:

[[UITextField appearanceWhenContainedIn: [UISearchBar class], nil] 
           setFont: [UIFont customFontWithSize: 17]]; 

placeholder text

normal text

+0

Wie stellen Sie den Platzhalter ein ??? – Kasaname

+0

zeigen Sie den Code, den Sie verwenden, um das Aussehen und den Platzhalter einzurichten –

+0

http://StackOverflow.com/Questions/5526047/Uisearchbar-display-bug-text-too-far-left-overlapping-the-magnifying-glass- ico – iPatel

Antwort

0

Sie müssen innerhalb der SearchBar Ausrichtung von Textfield setzen. Erhalten Sie TextField von Unteransichten von UISearch bar und stellen Sie einfach seine Ausrichtung auf center.Try Beispielcode unten.

- (void)viewDidLoad 
{ 
    for (UITextField *txt in _searchbar.subviews) { 
     if ([txt isKindOfClass:[UITextField class]]) { 
      [txt setTextAlignment:NSTextAlignmentCenter]; 
     } 
    } 
    [super viewDidLoad]; 
    // Do any additional setup after loading the view, typically from a nib. 
} 

Hier _searchbar ist Steckdose von UISearchBar.

0
- (void)viewDidLoad 
{ 

    for (UITextField *txt in search.subviews) { 
     if ([txt isKindOfClass:[UITextField class]]) { 
      txt.font = [UIFont fontWithName:@"Arial-BoldMT" size:17]; 
      txt.contentVerticalAlignment = UIControlContentVerticalAlignmentFill; 
     } 
    } 

    [super viewDidLoad]; 

} 

Probieren Sie diesen Code einmal aus.

1

Wann immer mir das passiert, wird es normalerweise durch einige Änderungen an UIAppearance verursacht, die nicht gut mit UISearchBar verschmelzen. Sieh dir die vorherigen Hacks an, die du vielleicht gemacht hast, und versuche vielleicht, sie einzeln zu kommentieren.

In meinem speziellen Fall war es tatsächlich eine Änderung zu NSForegroundColor in einem Textattribut, so dass diese Fehlausrichtung möglicherweise nicht mit Ihrer Schriftartänderung zusammenhängt.

Verwandte Themen