問題タブ [uimodalpresentationstyle]

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 投票する
0 に答える
83 参照

ios - ViewController が DidDismissPopover 通知を受信しない

別のView Controller Aによってポップアップとして表示されるView Controller Bがあります。View Controller BはプロトコルUIPopoverPresentationControllerDelegate(ヘッダーファイルで定義)に準拠し、このメソッドを実装しています。

ビュー コントローラー A で、ビュー コントローラー B を初期化し、その modalPresentationStyle を に設定しUIModalPresentationPopoverて、メソッドを使用して表示しpresentViewController:animated:completion:ます。

ポップオーバーの横をクリックして閉じると、通知が届きません。ビュー コントローラ B がこの通知を受信しないのはなぜですか?

UIPopoverPresentationControllerDelegateビューコントローラーAを準拠させてそこにメソッドを実装すると、同じことが起こります。

Objective C と iOS 9 のターゲットを使用しています。

編集

以下のコメントのおかげで、私は間違いを見つけました。デリゲートを設定するのを忘れていました。ここで、View Controller A のデリゲートをそれ自体に設定し、A が必要なデータを View Controller B から取得できるようにします。

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

objective-c - 優先スタイル UIAlertControllerStyleActionSheet で UIAlertController のモーダル プレゼンテーション スタイルを変更することは可能ですか?

アラート コントローラーの popoverPresentationController を介して、このポップオーバーの位置情報を提供する必要があることはわかっています。sourceView と sourceRect または barButtonItem のいずれかを指定する必要がありますが、iPad の場合はアラート シートを中央に表示したいと考えています。

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

ios - iPhone でのフォームシート プレゼンテーションの高さのサイズ変更

UIAdaptivePresentationControllerDelegate を使用することで、フォーム シートのスタイルで表示されるビュー コントローラーを取得できました。

preferredContentSize を設定すると、VC の幅は変更できますが、高さは変更できません。なぜですか?

preferredContentSize を (200,200) に設定したスクリーンショット

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

ios - 現在のコンテキストで ViewController を提示するとスタックする

ボタンを押すと(「タッチダウン」)、現在のコンテキストでビューコントローラーをモーダルに表示しようとしています。そのボタンを離すと(「タッチアップインサイド」)、ビューコントローラーを閉じます。

これは私のコードです:(buttonPressedは「タッチダウン」イベントで、buttonReleasedは「タッチアップインサイド」イベントです)

しかし、ボタンをスパムすると、別のビューが動かなくなり、そこに残されます。誰もこの問題の解決策を知っていますか? ありがとうございました。

編集:また、アニメーションを false に変更しても、これは引き続き発生するため、おそらく問題ではありません。

EDIT 2問題を解決しました。ボタンから間違ったイベントを聞いていました。ボタンをすばやく押して離すと、発生するイベントは「タッチ キャンセル」のようです。私もそれを追加し、私のコードは正常に機能するようになりました。

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

ios - textView iOS で選択した textRange の四角形にポップオーバーを固定する

UIMenuItemアンカーポイントが で選択されたテキストの四角形であるからポップオーバーを表示しようとしていtextViewます。次のコードがあります。

行でアプリがクラッシュしますcolorVC.modalPresentationStyle = .popover。誰かがここで何が起こっているのか教えてもらえますか? ありがとう!:)

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

ios - 「ココアタッチフレームワーク」コンポーネントのポップオーバーを実装する方法は?

質問: 「ココア タッチ フレームワーク」内でモーダル ポップオーバーをどのように実装しますか (IOS のベスト プラクティスによると思います)。

ここではユニバーサル アプリなので、iPhone と iPad の両方をサポートすると仮定します。ココア タッチ フレームワークを使用するメイン アプリにストーリーボードが使用されていると想定できます。

たとえば、コンポーネントが「ユーザーに X、Y、Z の情報をメイン アプリとそのビュー コントローラーに尋ねてから、次のようなアプローチを使用してください」を返す必要があるのがベスト プラクティスです。

これは難しく、使用するコンポーネント (/フレームワーク) に合わせてアプリを少しビルドする必要があるため、これは不可能に思えますか? 別の方法として、コンポーネント内でポップアップ ビューを自分で手動で作成することもできますが、通常のポップオーバー アプローチで iPad と iPhone をサポートするのに役立つ IOS ベスト プラクティス アプローチの恩恵を受けるかどうかはわかりませんか?

例として、ユーザーがドロップインできるようにしたいカスタムマップコンポーネントがあるとしますが、コンポーネントの1つの側面は、ユーザーがピンを選択/ドロップしたときに、モーダルダイアログをスローできるようにすることです。このドロップされたピンの名前をカスタマイズするようユーザーに依頼します。

(これが理にかなっていることを願っています)

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

ios - UIModalPresentationStyle.custom での definePresentationContext の使用

ビュー コントローラー コンテインメントを使用して、カスタムの方法で他のビュー コントローラーをモーダルに表示できる子ビュー コントローラーのセットを管理しています。

を使用してView Controllerから表示するときにdefinesPresentationContextプロパティが使用されないという問題に遭遇しましたUIModalPresentationStyle.custom

ROOT例として、 、A、およびの3 つのビュー コントローラーがあります。B

Aの子ですROOT。カスタム、、およびを使用してBからモーダルに表示したいと思います。AUIPresentationControllerUIViewControllerTransitioningDelegateUIViewControllerAnimatedTransitioning

したがって、コントローラーのコード内で次のことを行います(コントローラーが に設定されていることにA注意してください)。AdefinesPresentationContexttrue

ただし、私のプレゼンテーション コントローラー (これも私のUIViewControllerAnimatedTransitioning) 内で、次の問題が発生します。

この関数ではfromVC、タイプが であると予想されますがA、実際にはROOTです。Aを指定しているにもかかわらず、definesPresentationContext.

を使っているからだと思いUIModalPresentationStyle.customます。だから私はそれをUIModalPresentationStyle.overCurrentContext

definesPresentationContextこれにより、iOS は からプロパティを正しく読み取るようAになり、animateTransitionビュー コントローラーから正しい関数が呼び出されるようになりましたが、次のようになります。

モーダル プレゼンテーション スタイルが ではなくなったため.custom、遷移中のデリゲートの次のメソッドが呼び出されなくなりました

したがって、私のプレゼンテーションコントローラーは使用されなくなります。

.customを尊重するモーダル遷移スタイルが必要ですdefinesPresentationContext。これは可能ですか?何か不足していますか?

基本的に、現在のコンテキスト内でカスタム モーダル プレゼンテーションが必要です。