2016-08-09 22 views
2

にスクロールされるまでUIAlertControllerアクションボタンが無効になっ作り方。法律では、最近のプライバシーポリシーのように、ポリシーをスクロール可能にする必要があります。スウィフトにプライバシーポリシーを作成:メッセージは、私はUIAlertControllerを使用して簡単にプライバシーポリシーを実装しようとしています私のiOSアプリケーションでは下

私自身の研究から、私はあなたが無効と有効UIAlertActionボタンが、私はUIAlertControllerメッセージ本体がスクロールされたときを識別する方法を知らないことを見てきました。一番下までスクロールすることは必須条件かもしれませんし、私はあまりにもうまくいく方法を考え出すことに興味があります。ここで

UIAlertController

上記UIAlertControllerを探しているデフォルトのための私の現在のコードです。次のように

let alertController = UIAlertController(title: "Privacy Policy", message: privacyPolicyString, preferredStyle: UIAlertControllerStyle.Alert) 

let AcceptAction = UIAlertAction(title: "Accept", style: UIAlertActionStyle.Default, handler: {(action: UIAlertAction) -> Void in 

    //perform next step in login verification 
}) 

let DeclineAction = UIAlertAction(title: "Decline", style: UIAlertActionStyle.Default, handler: {(action: UIAlertAction) -> Void in 

    //User has declined privacy policy. The view resets to standard login state 
}) 

alertController.addAction(AcceptAction) 
alertController.addAction(DeclineAction) 

self.presentViewController(alertController, animated: true, completion: nil) 
+0

あなたは、そのビューのオフセットにアクセスし、有効または無効にする能力を持つことになりますので、そのために自分自身のアラートビューを作成する必要がありますボタン –

答えて

0

これは、ネイティブUIAlertControllerで可能になります - あなたが一番下までスクロールすると

  1. が偽
  2. にタイプUIAlertAction
  3. 設定しenabledの変数を作成し、あなたがこれを確認することができますスクロールビューのデリゲートまたは任意のカスタム方法は、その後、C以下でenabled trueに
  4. 最も重要なことを設定しますODEは、次のとおりです。 -

    self.actionToEnable = action 
    action.enabled = false 
    

コードの参照: -

weak var actionToEnable : UIAlertAction? 

func callbackWhenScrollToBottom(sender:UIScrollView) { 
    self.actionToEnable?.enabled = true 
} 

     let alert = UIAlertController(title: "Title", message: "Long text here", preferredStyle: UIAlertControllerStyle.Alert) 
     let cancel = UIAlertAction(title: "Accept", style: UIAlertActionStyle.Cancel, handler: { (_) -> Void in 

     }) 

     let action = UIAlertAction(title: "Decline", style: UIAlertActionStyle.Default, handler: { (_) -> Void in 

     }) 

     alert.addAction(cancel) 
     alert.addAction(action) 

     self.actionToEnable = action 
     action.enabled = false 
     self.presentViewController(alert, animated: true, completion: nil) 
+0

これは良いスタートです!コールバックでアラートのスクロールオフセットを見つける方法についていくつかの洞察を提供できますか?そして私はその機能をどこで呼んでいますか? – Danoram

+0

UIAlertControllerの階層をチェックしましたが、スクロールビュー、テキストビューを見つけることができませんでした。したがって、スクロールオフセットを取得できません。何か解決策を見つけましたか? – pkc456

+0

まだ残念ながら、私はまだそれを検討している! – Danoram

関連する問題