我有一个简单的问题,如何将文本字段连接到另一个控制视图,如果我单击文本字段,而不是显示键盘,它会跳转到另一个视图
感谢您的回答
在 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;
}
如果您通过代码添加文本字段,那么,
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
我真的不明白你为什么需要这个,但作为一名开发人员,我们坚信要实现所有场景,所以在你的情况下,你可以通过遵循下面提到的任何一个技巧来实现同样的目标:
1) 在这种方法中,您需要覆盖 textfieldshouldbegin 委托并使用导航代码从一个屏幕移动到另一个屏幕,并且不要忘记在此处调用 resignFirstResponder。
2)在第二种方法中,您可以做什么,只需重叠一个自定义按钮(既没有图像也没有任何文本),然后在他的点击事件方法上编写您的导航代码以移动另一个屏幕。
做那件事,你会得到你想要的,如果你仍然发现任何困难,就对我大喊大叫。