2013-04-11 2 views
14

Я пытаюсь настроить шрифт UISearchBar через внешний прокси. Он работает, но каким-то образом текст заполнителя не центрирован по вертикали. Я попытался установить свойство вертикального выравнивания; текст заполнителя будет центрирован, но введенный текст будет немного ниже центральной линии ... Есть ли способ исправить это?Текст-заполнитель в таблице UITextField UISearchBar

Edit: код я добавить пользовательский шрифт:

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

placeholder text

normal text

+0

как вы устанавливаете местозаполнитель ??? – Kasaname

+0

показать код, который вы используете для настройки внешнего вида и заполнителя –

+0

http://stackoverflow.com/questions/5526047/uisearchbar-display-bug-text-too-far-left-overlapping-the-magnifying-glass- ico – iPatel

ответ

0

Вы должны установить выравнивание TextField внутри SearchBar. Получите textField из подзонов панели UISearch и просто установите его выравнивание по центру. Попробуйте пример кода ниже.

- (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. 
} 

здесь _searchbar - это выход из 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]; 

} 

Попробуйте этот код один раз.

1

Всякий раз, когда это происходит со мной, это обычно вызвано некоторой модификацией UIAppearance, не так хорошо смешивающейся с UISearchBar. Посмотрите на любые предыдущие хаки, которые вы, возможно, сделали, и, возможно, попробуйте прокомментировать их по одному.

В моем конкретном случае это было фактически изменение NSForegroundColor в текстовом атрибуте, поэтому это несоосность может быть не связано с изменением шрифта.

Смежные вопросы