1

我有一个简单的问题,如何将文本字段连接到另一个控制视图,如果我单击文本字段,而不是显示键盘,它会跳转到另一个视图

感谢您的回答

4

3 回答 3

4

在 TextField 的委托方法中textFieldShouldBeginEditing,添加从当前视图到另一个视图的代码。

或者您可以在 TextField 上使用点击手势识别器来进行触摸。

这是代码:

在您的 IB 中创建一个 TextFied 并将其连接到 .h 文件

@interface ViewController : UIViewController<UITextFieldDelegate>

@property (strong, nonatomic) IBOutlet UITextField *firstTF;

在 .m 文件中添加这个

@synthesize firstTF;

- (void)viewDidLoad
{
    [super viewDidLoad];
    firstTF.delegate= self;
}

-(BOOL)textFieldShouldBeginEditing:(UITextField *)textField{
    secondViewController *ainfoController = [[secondViewController alloc] initWithNibName:@"secondViewController" bundle:nil];

    [self presentModalViewController:ainfoController animated:YES];
    return YES;
}
于 2013-02-22T11:53:00.393 回答
1

如果您通过代码添加文本字段,那么,

UITextField *textField = [[UITextField alloc] initWithFrame:CGRectMake(x, y, width, height)];
textField.delegate = self;
[self.view addSubview:textField];

并添加此方法

- (BOOL) textFieldShouldBeginEditing:(UITextField *)textField{
     // you can add the code for present a new viewController here
     return NO;
}

确保您已在 .h 文件中添加 UITextFieldDelegate

于 2013-02-22T12:00:04.563 回答
0

我真的不明白你为什么需要这个,但作为一名开发人员,我们坚信要实现所有场景,所以在你的情况下,你可以通过遵循下面提到的任何一个技巧来实现同样的目标:

1) 在这种方法中,您需要覆盖 textfieldshouldbegin 委托并使用导航代码从一个屏幕移动到另一个屏幕,并且不要忘记在此处调用 resignFirstResponder。

2)在第二种方法中,您可以做什么,只需重叠一个自定义按钮(既没有图像也没有任何文本),然后在他的点击事件方法上编写您的导航代码以移动另一个屏幕。

做那件事,你会得到你想要的,如果你仍然发现任何困难,就对我大喊大叫。

于 2013-02-22T12:31:34.167 回答