UITextViewキーボードの上部に が取り付けられているFacebook Messenger アプリを複製しようとしています。
このアプリの性質上、キーボードが表示viewされたときに手動で上下にスクロールするのではなく、接続する必要があります。ScrollView
これは、 を使用して実現できますinputAccessoryView。
ここでドキュメントを読みました。
ドキュメントは非常に簡潔で、次のように述べています。
「このプロパティは通常、UITextField および UITextView オブジェクトに対して提示されるシステム提供のキーボードにアクセサリ ビューをアタッチするために使用されます。
この読み取り専用プロパティの値は nil です。カスタム コントロールをシステム提供の入力ビュー (システム キーボードなど) またはカスタム入力ビュー (inputView プロパティで提供するもの) にアタッチする場合は、このプロパティを UIResponder サブクラスで読み取り/書き込みとして再宣言します。
このプロパティを使用して、カスタム アクセサリ ビューを管理できます。レシーバーがファーストレスポンダーになると、レスポンダー インフラストラクチャはアクセサリ ビューを表示する前に適切な入力ビューにアタッチします。」
プロパティを宣言しようとしました
@interface CommentViewController ()
@property (nonatomic, readwrite, retain) UIView *inputAccessoryView;
@end
そして、それを設定します:
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
UIView *view = [[UIView alloc]initWithFrame:CGRectMake(0, 20, 320, 100)];
[view setBackgroundColor:[UIColor greenColor]];
self.inputAccessoryView = view;
}
次に、これらの両方を呼び出してみました:
[self.tableView becomeFirstResponder];[view becomeFirstResponder];
何も起こりません。私は何を間違っていますか?
*注 - 追加情報: をとして添付しUITableViewControllerたい を使用しています。ビューが機能するようになったら、a などを追加しますが、これは主に例です。UIViewinputAccessoryViewUITextView
どんな助けでも大歓迎です!