点击UITextField(圆形样式文本字段)时打开新视图

时间:2013-09-27 11:03:28

标签: iphone ios uitextfield segue

当我点击UITextField时,我正在尝试打开表视图控制器。 我在我的UITextField中添加了一个push segue。但是,而不是切换到 新视图,键盘正在打开。

可能是什么问题?

3 个答案:

答案 0 :(得分:1)

您需要查看UItapGestureRecognizer。当用户点击textField时,您需要在textField上添加TapGesture Recognizer。然后调用tapGestureRecognizer方法并在此处执行您想要的操作。

UITapGestureRecognizer * recog=[[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(tapped:)];

    recog.numberOfTapsRequired=1;
    recog.delegate=self;

    [self.view addGestureRecognizer:recog];


    -(void)tapped:(UIGestureRecognizer *)gesture
    {

      // Do what you want here

    }

2)第二路是

在.h文件中添加TextField delegatei。

- (void)textFieldDidBeginEditing:(UITextField *)textField
  {
        //Do what you want here..
  }

尝试这个...

答案 1 :(得分:1)

.p文件中的第1个声明UITextView委托:

 @interface ViewController ()<UITextFieldDelegate>

在viewDidLoad中:

 self.textField.delegate = self;

实施textFieldDidBeginEditing:(UITextField *)textField方法:

 - (void)textFieldDidBeginEditing:(UITextField *)textField
  {
       //segue over here
  }

答案 2 :(得分:1)

尝试实施textFieldShouldBeginEditing: UITextViewDelegate方法。它看起来像是:

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField {
    if (textField == myTextField) {
        // Open the new ViewController here

        return NO;
    }
    return YES;
}

您还必须设置委托:myTextField.delegate = self;

相关问题