另一位用户向我提供了以下代码,以便在用户输入特定 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 的窍门!谢谢。
最佳答案
您提供的错误消息表明您的方法有问题。
@selector(changeFont:)]
@selector(removeTextView:)];
@selector(dismissKeyBoard:)];
仔细检查所有三种方法都将参数作为 : symbol 指定它应该,并检查你的方法拼写。
验证对象可以响应方法:
NSLog(@"Method does respond: %d", [self respondsToSelector:@selector(aMethod)]);
关于iOS:用户在 TextView 中键入后无法最小化键盘(xcode),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16429991/