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