我有一个textView,其提交按钮被键盘重叠,所以我试图为用户点击屏幕上的任何其他位置时添加一个监听器来摆脱键盘。
我正在尝试将这样的代码添加到我的控制器中:
-(void)touchesBegan:(NSSet *) touches withEvent:(UIEvent *)event
{
[textView resignFirstResponder];
}
但这会产生语法错误,未声明textView。但这很令人困惑,因为我已经将textView添加到了屏幕上。
以下是代码:
#import "FeedbackController.h"
@interface FeedbackController ()
@end
@implementation FeedbackController
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
}
return self;
}
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
}
- (void)viewDidUnload
{
[super viewDidUnload];
// Release any retained subviews of the main view.
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return (interfaceOrientation == UIInterfaceOrientationPortrait);
}
-(void)touchesBegan:(NSSet *) touches withEvent:(UIEvent *)event
{
[textView resignFirstResponder];
}
- (IBAction)submitFeedback:(id)sender {
NSLog(@"This is a test hello");
}
@end
以下是屏幕的外观:
知道如何才能尝试正确引用textView吗?以及如何在触摸屏幕的其他部分时使键盘消失?
谢谢!
答案 0 :(得分:2)
在您的.h文件中,您需要为IBOutlet
变量创建textView
,以下是创建插座的方式access view inside a storyboard
答案 1 :(得分:1)
您需要为textView创建一个属性,即IBOutlet。然后,您可以在界面构建器中连接它并调用:
[self.textView resignFirstRespnder]
当你想要隐藏键盘时。