Пример UITextField ResignFirstResponder с Monotouch

Я новичок. Я не могу понять, как и где вызвать ResignFirstResponder, чтобы избавиться от клавиатуры, когда пользователь закончил вводить текст в UITextField. Меня немного смущает класс UIResponder. В документации Mono говорится: «Чтобы отключить клавиатуру, отправьте сообщение UIResponder.ResignFirstResponder в текстовое поле, которое в настоящее время является первым ответчиком». Как это сделать? Может ли кто-нибудь опубликовать простой рабочий пример? В Obj-C есть много примеров, но ни одного в C#. Большое спасибо.


person Tajomaru    schedule 16.03.2010    source источник


Ответы (1)


Вот пример, который я недавно сделал:

private UITextField _textField;

public override void ViewDidLoad()
{
    _textField = new UITextField();
    _textField.Text = "King Alfonso III";
    _textField.Bounds = bounds;
    _textField.Placeholder = "Username";
    _textField.ShouldReturn = delegate
    {
        _textField.ResignFirstResponder();
        return true;
    };
    View.AddSubview(_textField);
}

Кроме того, если вы отправили форму с кнопкой, убедитесь, что вы отменяете все текстовые поля при нажатии кнопки, чтобы избежать ошибок респондента.

public void ButtonClick(object sender, EventArgs e)
{
    _textField.ResignFirstResponder();
    // All other textboxes

    // Other button logic
}
person Chris S    schedule 16.03.2010
comment
Топ дружище! Я чувствую себя довольно n00by :) Еще раз спасибо, Крис! - person Tajomaru; 16.03.2010
comment
@kentakhy Рад помочь, мне потребовалось около 3 часов, чтобы понять это из небольших фрагментов в Интернете и примеров Мигеля: github.com/migueldeicaza/monotouch-samples - person Chris S; 16.03.2010