ios uitextfield 常用 delegate

 1,介绍 键盘隐藏


a),自己在return事件中隐藏键盘。

tv.ShouldReturn = delegate {
                tv.ResignFirstResponder ();
                return true;
            };


b),textfield 失去焦点隐藏键盘。

该方法主要分两种。一种是 view 的 touchesBegan 事件,如果第一个响应的控件不是textfield 则隐藏键盘。

  领一种是 通过手势。

UITapGestureRecognizer tapGesture = new UITapGestureRecognizer (new Action<UITapGestureRecognizer> (delegate(UITapGestureRecognizer gesture) {
                txt.ResignFirstResponder();
               //.....
            }));
            tapGesture.CancelsTouchesInView = false;
            this.ui_view.AddGestureRecognizer (tapGesture);


2,输入结束 验证输入的数据

tv.ShouldEndEditing = delegate {
                //添加正则验证
                if (!string.IsNullOrEmpty(tv.Text)) {
                    if (regStr!="") {
                        Regex regex = new Regex(regStr);
                        if(!regex.IsMatch(tv.Text))
                        {
                            tv.Text=string.Empty;
                            new UIAlertView("提示",errStr,null,"确定",null).Show();
                        }
                    }
                }
                Console.WriteLine (UIKeyboard.FrameEndUserInfoKey); ;
                tv.ResignFirstResponder ();
                return true;
            };

3,开始输入控制 键盘的样式

tv.ShouldBeginEditing = delegate {
                    tv.KeyboardType = UIKeyboardType.NumberPad;
                   
                    return true;
                };


posted @ 2014-10-09 15:50  mendel  阅读(173)  评论(0编辑  收藏  举报