問題タブ [inputaccessoryview]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
982 参照

ios - Facebook とキーボード アニメーションの管理

FacebookメッセンジャーのようにcomposerBarとキーボードを実装する方法を知っている人はいますか?

tableView を上にスクロールすると、ジャンプすることなくスムーズにキーボードが下から表示されます。私の同様の実装では、次のように機能します。上にスクロールした後、tableView の下部オフセットが 0 未満の場合、composerBar の入力テキスト フィールドが最初のレスポンダーになり、キーボードが指にジャンプします。はい、使用しますUIScrollViewKeyboardDismissModeInteractive

Facebook はこの滑らかなアニメーションをどのように実装していますか?

キーボード

編集:Facebook Messengerでどのように機能するかを段階的に説明しようとしています.

私のviewController(TableViewController)にInputAccessoryViewがあります。次に、テレビを上にスクロールし始めます(写真1)

ここに画像の説明を入力

次に、下のインセットが何らかの値 (たとえば 10) を超える場合 (写真 2)、firstResponder を inputTextField に設定します (写真 3)。

ここに画像の説明を入力 ここに画像の説明を入力

したがって、一般的なケースでは、「UIScrollViewKeyboardDismissModeInteractive」を使用すると、キーボードが指の位置にジャンプします (写真 4) ここに画像の説明を入力

しかし!Facebook Messenger では、キーボードを下からドラッグすると、指が移動した距離と同じ距離になります。(写真5)

ここに画像の説明を入力

だから、facebookメッセンジャーはどういうわけかキーボードの動きを制御します。質問は: どのように??

0 投票する
1 に答える
435 参照

swift - 作成後にUITextViewのinputAccessoryViewでUIBarButtonItemのボタンタイトルを変更しますか?

inputAccessoryViewfor UITextViewinを作成しましたviewDidLoad

var keyBoardToolBar: UIToolbar = UIToolbar(frame: CGRectMake(0, 0, self.view.frame.size.width, 50)) keyBoardToolBar.barStyle = UIBarStyle.Default

firstButtonそして、他の機能でのボタンテキストを変更したい(後viewDidLoad)。では、どうすればよいでしょうか?ありがとう!

0 投票する
1 に答える
657 参照

ios - inputAccessoryView が機能しないか、正しくフォーマットされていない

datepickerのキーボードの代わりに をセットアップしています。を閉じたいのですが、正常に動作していません。ボタンを押していますが、アクション メソッドが呼び出されず、ツールバーの書式設定が希望の色ではありません。UITextFieldUIToolbaraccessoryViewDone

[UIColor defaultAppColor]赤の色合いであるはずですが、どこにも表示されていません。

私は何を間違っていますか?

0 投票する
2 に答える
10788 参照

ios - how can i increase the height of an inputAccessoryView

I have spent several days on this with no solution in sight.

I have an inputAccessoryView which consists of a UIView containing a textView and two buttons. The behaviour of the inputAccessoryView is as expected and works fine in all cases except one.

When the height of the textView increases, I am trying to increase the height of the inputAccessoryView by the same amount. When I redefine the height of the inputAccessoryView in textViewDidChange, the inputAccessoryView increases height downwards over the keyboard instead of upwards.

I have tried many different suggestions from SO but nothing has worked. I guess it is the automatically added NSLayoutConstraint of the inputAccessoryView but I have no idea how to change that value in swift and iOS 8.3.

adding

to the above code helps and the inputAccessoryView height increases upwards correctly however I get Unable to simultaneously satisfy constraints for several constraints and it is very difficult to identify the offenders. Also I get an odd effect of the textView creating extra space below on every second instance of a new line.

thanks.

0 投票する
1 に答える
573 参照

ios - Swift: inputAccessoryView が呼び出されたときに UIToolbar の空白の白い画面を表示する

UIToolbarでキーボードに追加しようとしてinputAccessoryViewいますが、ユーザーが をタップするUITextFieldと、空白の白い画面が表示されるか、入れた場合は白いビューが読み込まれviewDidLoad()ます。私はいくつかのstackoverflow QAを試しましたが、どれもうまくいかないようです。私もremoveFromSuperview()メソッドでこれをやっています。

初期化:

Assign UIToolbar to UITextField: このコードは、読み込まれると空白のビューになります。

WITHOUT removeFromSuperView() : 次のエラーが表示されますが、これは理にかなっています。

私が従ういくつかのStackoverflow QA(ただし結果はありません):

ビューのセットアップ方法:
ここに画像の説明を入力

0 投票する
1 に答える
575 参照

ios - InputAccessoryView の viewWillDisappear: iOS 9 の初期に呼び出されたメソッド

iOS 9 で非常に残念なバグに遭遇しました。 を設定するUITextField.inputAccessoryViewと、そのビューviewWillDisappear:viewDidDisappear:メソッドが時期尚早に (キーボードのアニメーションが終了した直後に) 呼び出されるようです。

問題を示すためにgifを含めました。ビューが赤くなるのは、そのviewWillDisappear:メソッドが呼び出されたときです。奇妙なことに、キーボードを閉じるviewWillDisappear:と、viewDidDisappear:再び呼び出されます。ただし、viewWillAppear:一度だけ呼び出されます。

誰かが同様の問題に遭遇しましたか? と を使用viewWillDisappear:viewDidDisappear:てコントローラーを緩めますが、明らかに初期の呼び出しが望ましくない動作を引き起こしています。

注: 以下は、アクセサリ ビューを作成して設定する方法です。AccessoriesViewController.m には特筆すべき点はありません。クリーンなプロジェクトで問題を再現しました。また、iOS 8 には存在しません。

ここに画像の説明を入力

0 投票する
1 に答える
512 参照

inputaccessoryview - 「reloadInputViews」を呼び出した後、inputAccessoryView が自動的に表示されない

まず、MyTextEditorView という名前の UIView をサブクラス化し、inputAccessoryView を readwrite プロパティとして上書きします。

@property (retain, readwrite) UIView *inputAccessoryView;

そして、UIInputView を表示ビューとして初期化し、1 つの UIView をサブビューとして追加します。

そして、YES を返すために canBecomeFirstResponder をオーバーライドしました;</p>

最初に myTextEditorView を viewController1 で初期化してファーストレスポンダーにすると、inputAccessoryView が自動的に表示されます。しかし、この viewController1 から別の viewController2 をプッシュして viewController1 に戻すと、inputAccessoryView はファーストレスポンダーにした後に自動的に表示されません。

ただし、次のようにコードを追加すると:

その後、このinputAccessoryViewはどのような場合でも自動的に表示されます.しかし、これは私を混乱させ、inputAccessoryViewが自動的に表示されない理由を誰かが私に提起するのを助けることができますか?事前に感謝!!!