タイトル通り…どうしたらいいの?ユーザーに大量のテキストを入力してもらい、何らかの方法でキーボードを最小化して、そのビュー内の他のオブジェクトとの対話に戻るようにします。ただし、入力中にテキストをフォーマットするために使用できる「Enter」キーが必要になる場合があります。助言がありますか?
Anil は、次のコードを含むリンクを提案しました。
(void)textViewDidBeginEditing:(UITextView *)textView {
[self createInputAccessoryView];
[textView setInputAccessoryView:_inputAccessoryView];
self.myTextView = textView; }
-(void)createInputAccessoryView {
_inputAccessoryView = [[UIToolbar alloc] init];
_inputAccessoryView.barStyle = UIBarStyleBlackOpaque;
[_inputAccessoryView sizeToFit];
_inputAccessoryView.frame = CGRectMake(0,_collageView.frame.size.height - 44, _collageView.frame.size.width, 44);
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];
[_myTextView addSubview:_inputAccessoryView];
}
ただし、概念的には少し遅れています... TextView、.h または .m ファイルへの参照をどこに置くのですか? どうすればいいのかわからない...
-(void)textViewDidBeginEditing:(UITextView *)textView {
...実際の TextField へのリンク。また、xcode は「_inputAccessoryView」がどこにも定義されていないことを示すエラーをスローしています。あなたの助けは大歓迎です!