Ich benutze benutzerdefinierte UITextView und muss Tastatur bei Klick auf die Schaltfläche ausblenden. Ich muss 'ShouldChangeTextInRange' fangen, was Textview hat, ich weiß nicht warum, aber Methode wird nicht aufgerufen. hier ist der Code der für meine Textansicht:ShouldChangeTextInRange wird nicht für UITextView aufgerufen
public class PlaceholderTextView : UITextView
{
public PlaceholderTextView()
{
Initialize();
}
public PlaceholderTextView (CGRect frame)
: base (frame)
{
Initialize();
}
public PlaceholderTextView (IntPtr handle)
: base (handle)
{
Initialize();
}
void Initialize()
{
Text = Placeholder;
ShouldBeginEditing = t => {
if (Text == Placeholder)
Text = string.Empty;
return true;
};
ShouldEndEditing = t => {
if (string.IsNullOrEmpty (Text))
Text = Placeholder;
return true;
};
}
public override bool ShouldChangeTextInRange (UITextRange inRange, string replacementText)
{
if (Text.Equals ("\n")) {
this.EndEditing (true);
return false;
} else {
return true;
}
}
}
Hätten Sie textviewDelegate self in viewDidLoad ?? –
Ich habe versucht, (Delegate = this) in Initialize-Methoden hinzuzufügen, aber throws invocationtargetexception – Nininea
addieren Sie viewdidload: textViewObject.delegate = self –