0

ユーザーが背景を押したときに、テンキーを閉じたいのですが。私の問題は、ResignFirstResponderを呼び出すためのテキストフィールドが見つからないことです。私はMonoTouch.Dialogを使用しています。InputAccessoryViewをオーバーライドできるので、次のコードを使用します。

using System;
using MonoTouch.Dialog;
using MonoTouch.UIKit;
using System.Drawing;

namespace MyApp
{
public class JMADialogViewController : DialogViewController
{
    public JMADialogViewController (RootElement root, bool pushing) : base(UITableViewStyle.Grouped, root, pushing)
    {
    }

    UIView dismiss;

    public override UIView InputAccessoryView 
    {
        get 
        {
            if (dismiss == null)
            {
                dismiss = new UIView(new RectangleF(0,0,320,27));         
                dismiss.BackgroundColor = UIColor.Black;
                UIButton dismissBtn = new UIButton(new RectangleF(255, 2, 58, 23));
                dismissBtn.SetTitle("Done", UIControlState.Normal);      
                dismissBtn.TouchDown += delegate {
                    //textField.ResignFirstResponder();
                    dismiss.ResignFirstResponder();
                };
                dismiss.AddSubview(dismissBtn);
            }
            return dismiss;
        }
    }
}

}

4

3 に答える 3

3

EndEditing()を使用すると、フォーカスされたテキストビューが下にある任意のビューでキーボードを閉じることができるため、おそらくこれを追加すると機能します。

        this.View.EndEditing(true);
于 2013-02-08T17:20:14.243 に答える
1

やってみました

[self.view endEditing:YES];
于 2013-02-08T17:15:17.293 に答える
0

背景のないボタンを配置し、前面にすべてのテキストフィールドを配置してみてください。したがって、ユーザーが触れる場所はすべてキーボードを非表示にします。このコードを使用せずにボタンをリンクします。

[self.view endEditing:YES];

これは、私のアプリで使用しているソリューションです。結果がお役に立てば幸いです。

于 2013-07-25T15:33:51.380 に答える