Aktualnie nie jestem w stanie wyrównać w pionie obiektu attributPlaceholder w UITextField i nie mam pojęcia dlaczego.Wyśrodkowanie w pionie przypisanego do UITextFieldPlaceholder
Oto co robię:
self.addressBar = [[UITextField alloc] initWithFrame: CGRectMake(...)];
self.addressBar.backgroundColor = [UIColor whiteColor];
self.addressBar.attributedPlaceholder = [[NSAttributedString alloc] initWithString:@"Placeholder text"
attributes:@{
NSForegroundColorAttributeName: [UIColor colorWithRed:79/255.0f green:79/255.0f blue:79/255.0f alpha:0.5f],
NSFontAttributeName : [UIFont fontWithName:@"Gotham-BookItalic" size:14.0],
}
];
self.addressBar.delegate = self;
self.addressBar.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;
[self.view addSubview:self.addressBar];
A oto co się dzieje:
Jest dość oczywiste, że to się dzieje, ze względu na fakt, że wysokość tego UITextFieldLabel jest 10px mniejszy niż Sam UItextField, ale nie mogę tego zmienić.
Dzieje się tak tylko za pomocą obiektu attributPlaceholder; domyślna właściwość zastępcza działa dobrze.
Wszelkie pomysły?
Domyślny element zastępczy ma taki sam rozmiar czcionki, jak czcionka pola tekstowego. Dlatego jest wyśrodkowany. – kean
OK ma sens, ale czy nie ma innego sposobu na wyśrodkowanie elementu zastępczego przy zachowaniu tego rozmiaru czcionki? –