2016-08-30 7 views
2

ユーザーがポップアップの外側をタップすると、ポップアップが解除されないようにしようとしています。私はこれに関する他の質問/回答をしているようですが、それらはすべてビューのためにmodalInPopoverを使用することを示唆しているようです。私はviewDidAppearでこれを行いました。私はドロップダウンメニューからの選択に従ってラベルを記入するボタンと共にテキストフィールドを持っています。情報が入力される前に、正常に動作し、外部をタップするとポップアップが解除されません。また、テキストフィールドにテキストが入力されたときにもうまく動作します。ただし、ボタンの1つをタップした後にドロップダウンから選択するとすぐに、ポップアップはそのボタンの外に触れた後に閉じます。外を叩くときのPopover Dismissalの防止(スウィフト)

これがなぜ起こったのか他の提案はありますか?テキストフィールドでresignFirstResponderを呼び出すと何か関係がありますか?

答えて

2

を動作するかどうか私に教えてトリックを行うようです。

func popoverPresentationControllerShouldDismissPopover(_ popoverPresentationController: UIPopoverPresentationController) -> Bool { 
    return false 
} 

誰かがまだ解決策を探している場合に役立ちます。

1

あなたが実装することができUIPopoverControllerDelegate:これはiOSの9.0で非推奨となっていますが、iOSの8サポートしているプロジェクトがある場合は、それを使用する必要が

func popoverControllerShouldDismissPopover(popoverController: UIPopoverController) -> Bool { 
    //return true when you need 
    return false 
} 

は、以下の機能を実装した後UIPopoverPresentationControllerDelegate 10

をIOS、それは迅速な3では、あなたのため

+0

ありがとうございましたが、残念ながら、私にとってはうまくいきませんでした。 iOS 9と互換性のある方法を知っていますか? – mhunt2015

関連する問題