Quindi, per prima cosa, avevo bisogno di impostare il colore del testo segnaposto, quindi ho creato una sottoclasse di UITextfield come mostrato in diversi post di overflow dello stack. Funziona bene Ecco un esempio di questo post: How do I subclass UITextField and override drawPlaceholderInRect to change Placeholder color.Centra il testo segnaposto nella sottoclasse di UITextField
Ma, quando provo a utilizzare searchNameField.textAlignment = UITextAlignmentCenter;
Non è più centrare il segnaposto. Il testo di input è ancora ben centrato.
Quindi, supponendo che il centraggio non funzioni a causa della sottoclasse, cosa devo aggiungere alla sottoclasse UITextField per avere il testo segnaposto centrato?
Grazie
Modifica
Ecco il codice che ho usato per risolvere questo problema. Questo è inserito nella mia sottoclasse di UITextField.
- (CGRect)placeholderRectForBounds:(CGRect)bounds
{
CGSize size = [[self placeholder] sizeWithFont:[UIFont fontWithName:@"Arial" size:placeholdTextSize]];
return CGRectMake((bounds.size.width - size.width)/2 , bounds.origin.y , bounds.size.width , bounds.size.height);
}
Si noti che placeholdTextSize è una proprietà che ho impostato durante l'inizializzazione.
Grazie. Per completezza: per risolvere questo problema, ho usato il metodo 'placeholderRectForBounds'. La mia modifica nella domanda originale mostra il codice per chiunque sia interessato. – Jomnipotent17