2016-06-16 6 views
0

ユーザー権限を取得した直後にビューを更新することはできますか?iOS - ユーザー権限を取得した直後にビューを更新する

たとえば、プッシュ通知を有効にするかどうかをユーザーに尋ねるtableViewCellがあります。ユーザが「はい」を押すと、リンゴシステムのプロンプトが開き、プッシュ通知が有効になります。

私の質問は、ユーザーが「はい」を押した直後にセルを更新する方法はありますか?

今のところ、単にtableViewに戻ります。ユーザーは手動でtableViewを更新して、 "enableNotifications"セルを削除しなければなりません(プッシュ通知が有効になっているかどうかを確認します)。ユーザーがAppleのシステムダイアログで[はい

答えて

0

警告閉鎖中のコールtableView.reloadData()、またはあなたがセルインデックスへの参照を持っている場合は、iOS8でちょうどそのセルtableView.reloadRowsAtIndexPaths([indexPath], withRowAnimation: UITableViewRowAnimation.Top)

0

を更新することができますをタップした直後に、このプロセスを自動化したいと思います上記のように、UIAlertViewControllerの各アクションを処理することができます

let alertController = UIAlertController(title: "UIAlertController", message: "Do you want to receive notification?", preferredStyle: .Alert) 
    let ok = UIAlertAction(title: "Yes", style: .Default, handler: { (action) -> Void in 
     print("Yes Button Pressed") 
     // do any action here 

    }) 
    let cancel = UIAlertAction(title: "Cancel", style: .Cancel) { (action) -> Void in 
     print("Cancel Button Pressed") 
    } 
    alertController.addAction(ok) 
    alertController.addAction(cancel) 

しかしiOS8以下、単にあなたが、これは単にこの関数を呼び出した後、ユーザーが任意の警告で[はい]ボタンをタッチした場合、トリガーである関数内のセルに割り当てることで、あなたのデータを変更UIAlertViewDelegate

+0

私は二重チェックをしますが、自分のプロンプトを使用しているとは思われません。Appleがプッシュ通知をチェックする代理メソッドを使用していると思います。 UIAlertのyes/cancelの機能を変更する方法があるかどうかは実際には分かりません – Jeezy

+0

申し訳ありませんが、私の間違いはプッシュのカスタム設定だと思っていましたが、プロンプト。こちらを参照してくださいhttp://stackoverflow.com/questions/25111644/detect-allow-notifications-is-on-off-for-ios8/25197833#25197833 – xmhafiz

0

を使用する必要があります。

[tableView reloadData]; //Objc 

OR

tableView.reloadData() //Swift 
0

私はこれについてわからないが、あなたはこれを試すことができます。あなたがプッシュ通知のための2つのメソッドを定義することができAppdelegate.mクラスで

あなたはあなたがあなたのコードを管理できることに基づいてプッシュするために、プログラムで、そのユーザが与えた権限をチェックしたりすることはできません、また

- (void)application:(UIApplication*)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData*)deviceToken { 
// Call you code to update tableview for that ViewController. 
} 

- (void)application:(UIApplication *)app didFailToRegisterForRemoteNotificationsWithError:(NSError *)err { 
// Show alert to user that you denied 
} 

であり、 UI。

これについてはわかりませんが、これがお役に立てば幸いです。