iOS版:不能减少在TextView的用户类型后的键盘(的Xcode)(iOS: Can't

2019-10-29 12:16发布

另一位用户为了使当用户在特定的TextView打字键盘上面的一个小工具栏给我提供了下面的代码。 所有我需要的是一个小“关闭”按钮,当用户完成,以尽量减少键盘,这样他/她可以继续操作的应用程序。

-(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];

}

然而,应用程序崩溃只要“关闭”按钮被按下。 我不知道如果我下面的正确的方向:我应该作出TextView的一个出口,所以我做出了输出到ViewController的头文件,并把它命名为questionsTextView。 然后,我合成它在我的.m文件,并命名实例_questionsTextView。

任何人都可以给我的手吗? 我是全新的,以Xcode和我慢慢变的Objective-C的窍门! 谢谢。

Answer 1:

您提供的错误信息提示有什么不对你的方法。

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

仔细检查了所有这三种方法需要一个参数为:符号指定它应该,并检查你的方法拼写。

验证对象可以以方法响应:

的NSLog(@ “方法并响应数:%d”,[自respondsToSelector:@selector(amethod方法)]);



文章来源: iOS: Can't minimize the keyboard after user types in TextView (xcode)