iOS:在用户键入TextView(xcode)之后,不能最小化键盘

另一位用户提供了以下代码,以便在用户键入特定的TextView时在键盘上方创build一个迷你工具栏。 我所需要的只是一个小小的“closures”button,以便在用户完成时最小化键盘,因此他/她可以继续操作应用程序。

-(void)viewDidLoad { [super viewDidLoad] UIToolbar *inputAccessoryView = [[UIToolbar alloc]init]; // Create one input accessory view, tool bar will be easy for you inputAccessoryView.frame = CGRectMake(0,self.view.frame.size.height - 44, self.view.frame.size.width, 44); // Add required buttons UIBarButtonItem *fontItem = [[UIBarButtonItem alloc] initWithTitle:@"Font" style:UIBarButtonItemStyleBordered target:self action:@selector(changeFont:)]; UIBarButtonItem *removeItem = [[UIBarButtonItem alloc] initWithTitle:@"Remove" style:UIBarButtonItemStyleBordered target:self action:@selector(removeTextView:)]; //Use this to put space in between your toolbox buttons UIBarButtonItem *flexItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil]; UIBarButtonItem *doneItem = [[UIBarButtonItem alloc] initWithTitle:@"Done" style:UIBarButtonItemStyleDone target:self action:@selector(dismissKeyBoard:)]; NSArray *items = [NSArray arrayWithObjects:fontItem,removeItem,flexItem,doneItem, nil]; [inputAccessoryView setItems:items animated:YES]; //You should create an outlet for the text view before doing this [self.questionsTextView setInputAccessoryView:inputAccessoryView]; 

}

但是,只要按下“closures”button,应用程序就会崩溃。 我不知道如果我正确地遵循方向:我应该为TextView做出口,所以我做了输出到viewController的头文件,并命名为questionsTextView。 然后我把它合成在我的.m文件中,并命名实例_questionsTextView。

任何人都可以请给我的手? 我是全新的xcode,并且正在慢慢地获得objective-c的支持! 谢谢。

您提供的错误消息提示您的方法有问题。

 @selector(changeFont:)] @selector(removeTextView:)]; @selector(dismissKeyBoard:)]; 

仔细检查所有三个方法的参数为:符号指定它应该,并检查您的方法拼写。

validation对象可以响应方法:

NSLog(@“Method does respond:%d”,[selfrespondsToSelector:@selector(aMethod)]);