Ich war UITextField
Unterklasse, um mein eigenes Textfeld zu machen.NSTextAlignmentCenter funktioniert nicht mit benutzerdefinierten Textfeld
Ich habe self.textAlignment = NSTextAlignmentCenter;
verwendet, um die Textausrichtung festzulegen, aber als ich mit der Bearbeitung anfing, wurde die Anfangsposition des Cursors nicht exakt in der Mitte belassen. Wenn ich jedoch etwas eingegeben habe, war der Text in der Mitte.
textRectForBounds:
und editingRectForBounds:
alle geben den gleichen CGRect
Wert zurück. Hier
ist der Code:
@interface MyTextfield() <UITextFieldDelegate>
@end
- (instancetype)initWithFrame:(CGRect)frame {
self = [super initWithFrame:frame];
if (self) {
self.delegate = self;
self.textAlignment = NSTextAlignmentCenter;
}
return self;
}
- (CGRect)textRectForBounds:(CGRect)bounds {
return CGRectInset(bounds, 20.5, 4.5);
}
- (CGRect)editingRectForBounds:(CGRect)bounds {
return CGRectInset(bounds, 20.5, 4.5);
}
- (void)textFieldDidBeginEditing:(UITextField *)textField {
// Do some animation
}
- (void)textFieldDidEndEditing:(UITextField *)textField {
// Do some animation
}
Was ist das Problem? Wie kann ich es reparieren?
Wo Sie den Code der Ausrichtung geschrieben haben? Können Sie Ihre benutzerdefinierte textField-Klasse anzeigen? – Pushpa
Ich setze die Ausrichtung in 'initWithFrame:'. – CokileCeoi
können Sie bitte Ihren Code hier hinzufügen, wenn möglich .. –