2016-12-30 3 views
0

JSQメッセージビューコントローラを使用してアクセサリボタンをクリックすると、キーボードの代わりにUIViewを追加する方法 JSQメッセージライブラリ私のアプリでは、UIViewを追加して、スタックビューを表示したいと思っています。これは、迅速なアクセサリボタンのクリックで表示したいものです。 私はストーリーボード上のビューを作成しました。このビューで表示されるアクセサリボタンをクリックすると表示されます。 enter image description here このビューがチャット画面に追加される場所はわかりません。 nilの例外jsqメッセージビューコントローラを使用してアクセサリボタンをクリックすると、キーボードの代わりにビューを追加する方法

が生成されます

override func didPressAccessoryButton(sender: UIButton!){ 
self.inputToolbar.contentView.addView(View) 
} 

私はアクセサリーボタンが

+0

私は迅速にはあまりよく分かりません。 しかし、まずあなたがしなければならないことは、textviewレスポンダを辞任することです[self.inputToolbar.contentView.textView resignFirstResponder]; ビューを追加します。 あなたが望むものをダミーイメージで提供する方が良いでしょう。 –

答えて

0

をクリックすると、キーボードのappentしたいというのが私のビュー私はちょうどメインビューに、あなたの「カスタムビュー」を追加することを示唆しているとキーボードが実際にキーボードビューにそれを実際に追加していない場所に制約を与えます。

0

このような効果を持っているとdemoViewするのではなく、ご希望のサブビューを追加するには、以下のコードを使用します。

demoView.frame = CGRectMake(0, 0, self.inputToolbar.contentView.width/2, self.inputToolbar.contentView.height); 
    [self.inputToolbar.contentView addSubview:demoView]; 
:あなたが欲しいフレームを決定することができます下の行では

enter image description here

[self.inputToolbar.contentView.textView resignFirstResponder]; 
    UIView *demoView = [UIView new]; 
    demoView.backgroundColor = [UIColor redColor]; 

さらに、次のような別の種類のビューが必要な場合:

enter image description here

[self.inputToolbar.contentView.textView resignFirstResponder]; 
    UIView *demoView = [UIView new]; 
    demoView.backgroundColor = [UIColor redColor]; 
    demoView.frame = CGRectMake(0, 0, self.view.width, 200); 
    [self.view addSubview:demoView]; 
+0

キーボードの代わりに表示する場合は、左ボタンをクリックするとトグルボタンのようになり、入力ツールバーは同じ場所に残ります –

関連する問題