問題タブ [uimenucontroller]

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 に答える
498 参照

iphone - ビューの変更後に UIMenuController が表示されない

UIView がタップされたときに表示される UIMenuController があります。canPerformAction メソッドと canBecomeFirstResponder メソッドを実装しましたが、ビューが最初に読み込まれたときに機能します。アプリはタブ ビューでナビゲートされ、ユーザーが別のビューに切り替えてから最初のビューに戻る場合 (ただし、モーダル ビューが最初のビューから表示されると同じ問題が発生します)、UIMenuController は表示されなくなります。 . なぜこれが考えられるのかについてのアイデアはありますか?

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

objective-c - UIMenuController の標準アイテムを取り除く

私は iOS で非常に小さなエディターに取り組んでいます。1 つのビュー、1 つのボタン、および textView しかありません。ボタンが押されると、カスタム UIMenuController がポップアップし、3 つのオプション (太字の切り替え、斜体の切り替え、筆記体の切り替え) が表示されます。

これは非常にうまく機能していますが、UITextView がファーストレスポンダーのときにボタンを押すと、「select」と「select all」という名前の 2 つのデフォルト メニュー項目も表示されます。

それらを取り除きたいのですが、これを行う方法がわかりません。これは、ボタンが押されたときに呼び出されるコードです。

誰でもこれを行う方法を説明できますか?

ありがとう!

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

objective-c - プロトコルの実装として使用して、すべてのオブジェクトのメソッドを置き換えることは可能ですか?

プロトコルの実装として使用して、すべてのオブジェクトのメソッドを置き換えることは可能ですか?

方法はcanPerformAction:(SEL)action withSender:(id)sender次のとおりです。

最初の問題:UIWebViewの「切り取り、コピー、貼り付け」および「選択、すべて選択」ポップアップメニューを無効にできない。奇妙なオブジェクトがそのcanPerformActionメソッドでそれらを生成します。そして、そのクラスでのみメソッドを置き換えるこのオブジェクトを見つけることができません。

どうぞよろしくお願いいたします。この問題を長い間解決することはできません。選択を無効にする他のすべての方法も、私のページでのユーザー入力を無効にします。canPerformActionそして、私はそれを機能させるために正しいクラスまたはすべてのクラスのメソッドを置き換えるだけかもしれません。

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

iphone - [UIMenuController sharedMenuController].isMenuVisible は EGOTextView では常に NO です

NSAttributedString 編集を行うためにEGOTextViewを採用しています。UIMenuController私が乗り越えられなかったバグがあります。次のコードで説明されているロジックのように、UIMenu は、EGOTextView をタップした後に表示と非表示を交互に行います。しかし、実際には[UIMenuController sharedMenuController].isMenuVisible 常にNOが返され、コード[menuController setMenuVisible:NO animated:NO];が呼び出されることはありません。私が見逃したトリッキーなことはありますか?ご提案ありがとうございます。

EGOTextView.m

}

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

objective-c - UIMenuControllerがサブクラス化されたUITextViewにカスタムUIMenuItemを表示しない

ユーザーがを押したままにしたときにUITextViewカスタムを表示したいサブクラスがあります。私の一生の間、カスタムアイテムを表示することはできません。これが私がしていることです:UIMenuItemUITextViewviewDidLoad

サブクラスを押し続けるUITextViewと、「選択」と「すべて選択」しか表示されません。

カスタムアイテムも表示するにはどうすればよいですか?

0 投票する
0 に答える
778 参照

objective-c - UIMenuController willHideMenu 通知が移動すると送信されず、バックグラウンド タップで閉じられる

テキストをコピーできるように、タップで UIMenuController を表示できるようにする UILabel のかなり単純なサブクラスがあります。これは、ほとんどの状況ですべて正常に機能します。

ビューでEPHighlightLabelは、それ自体がサブビューである UIView にこれらのうちの 3 つがあります。すべて正常に動作します。ラベルをタップすると、テキストが強調表示され、もう一度タップするかタップして離すと、メニューが閉じられ、ラベルの強調表示が解除されます。これは、- (void)willHideMenu呼び出しによって実現されます。ただし、次の状況では、UIMenuControllerWillHideMenu 通知は送信されません。

  1. 任意のラベルをタップします。
  2. ラベルが強調表示され、メニューが表示されます。
  3. 他のラベルをタップします。
  4. 前のラベルの強調表示が解除され、新しいラベルが強調表示され、メニューが表示/移動されました。
  5. ラベルの外側をタップします。メニューは削除されますが、通知は送信されません。UIMenuControllerWillHideMenu も UIMenuControllerDidHideMenu もありません。

何かアドバイス?

0 投票する
3 に答える
3804 参照

iphone - UIMenuController はキーボードを非表示にします

現在、チャット用のアプリケーションがあります。入力ボックスには UItextField を、表示メッセージにはバブルを使用しました。システム SMS のようなものです。メッセージの吹き出し (ラベル) でコピー ペーストを有効にしたい。問題は、UIMenuController を表示したいときに、コピーする必要があるラベルがファーストレスポンダーになる必要があることです。キーボードが現在表示されている場合、ラベルがファーストレスポンダーになると、テキストフィールドはフォーカスを失い、キーボードは自動的に非表示になります。これにより、UI のスクロールが発生し、気分が悪くなります。メニューを表示する必要がある場合でも、キーボードを表示したままにできる方法はありますか?

ここに画像の説明を入力

ここに画像の説明を入力

0 投票する
3 に答える
1134 参照

objective-c - カスタム UIMenuItem は初回のみ表示されました

- (void)viewDidLoadビュー コントローラーのメソッドにカスタム メニューを追加しました。

同じコントローラーで、メソッドも実装します。

初めてテキストを選択すると、メニューに「選択したものを読む」メニュー項目が含まれ、すべてうまく機能します。ただし、その後のテキスト選択では、メニューにはコピーなどの標準のシステム メニュー項目のみが含まれます。- (BOOL)canPerformAction:(SEL)action withSender:(id)senderメソッドをチェックインしましたが、readSelectedTextアクションで呼び出されることはありません(初めての場合と同様)。

なぜこれが起こるのか分かりますか?

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

ios - UITableViewCell がファーストレスポンダーにならない (セル ジェスチャで UIMenuController を表示する)

のアプリケーションがありますUITabBar。すべてのタブは、内部UINavigationControllerにいくつかあります。UIViewControllersこれらのビュー コントローラーの 1 つに が含まれておりUITableView、長押しした を削除するためのフローティング メニューを表示したいと考えていますUITableViewCell

使っUIMenuControllerているのですが、セルがファーストレスポンダーになることを拒否しているため表示されません。

これが私のコードです:

UITableViewCell でメソッドをオーバーライドしました:

細胞がファーストレスポンダーにならない理由について何か考えはありますか?

ありがとう!

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

ios - UITextView で定義した後、単語の選択を解除します

私はそのビューUIViewControllerでと持っています。UITextViewユーザーがテキストを選択すると、単語の定義に使用するシステム メニュー項目の定義があります。UIReferenceLibraryViewController問題は、辞書を閉じた後も単語が選択されたままになることです。選択を解除することをお勧めします (iBooks で行われているように)。

を使用して単語の選択を解除しようとしましたUIMenuControllerDidHideMenuNotification:

これにより、単語の選択が解除されますがUIViewController、次のメッセージが表示されて my がフリーズします。

何か案は?