0

私はUITableViewControllerSwiftを持っています。これには、必要に応じて行をスワイプして削除する機能を備えた大きなテーブルがあります。これは、単独の場合にうまく機能します。

フレームワークにはサイドバー機能もありますSWRevealViewController。コントローラーに必要なものを追加するとすぐにpanGestureRecognizer、テーブルのスワイプが機能しなくなります。

競合だと思いますが、テーブルスワイプには実際には名前が付けられていないため、解決方法がわかりません。お役に立てれば幸いです。

編集

現在のコード:

func gestureRecognizer(UIGestureRecognizer,
        shouldRecognizeSimultaneouslyWithGestureRecognizer:UIGestureRecognizer)
-> Bool {
            return true
    }

    func gestureRecognizer(UIGestureRecognizer,
        shouldBeRequiredToFailByGestureRecognizer:UIGestureRecognizer) -> Bool {
            return true
    }

    override func viewDidAppear(animated: Bool) {



        // Create sidebar button
        sidebutton.addTarget(self.revealViewController(), action:"revealToggle:", forControlEvents:UIControlEvents.TouchUpInside)

        // Add gestures for sidebar functionality
        self.view.addGestureRecognizer(self.revealViewController().panGestureRecognizer());

    }

// Handle deleting via row
    func tableView(tableView: UITableView!, commitEditingStyle editingStyle: UITableViewCellEditingStyle, forRowAtIndexPath indexPath: NSIndexPath!) {


        // If they want to delete
        if editingStyle == UITableViewCellEditingStyle.Delete {

            //Delete method

            // Any errors? - KILL IT
            var error: NSError? = nil
            if !context.save(&error) {
                abort()
            }

        }

    }
4

1 に答える 1

0

のデリゲートをビュー コントローラーに設定し、panGestureRecognizerビュー コントローラーに実装-gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:します。

戻るYESと、両方が同時に発砲できるようになります。

そうでない場合は、デリゲート メソッドを調べて、より細かい制御を行う必要があるかもしれませ-gestureRecognizer:shouldRequireFailureOfGestureRecognizer:-gestureRecognizer:shouldBeRequiredToFailByGestureRecognizer:


を見るとSWRevealViewController、独自のデリゲート メソッドがあるように見えます。

-revealController:panGestureRecognizerShouldRecognizeSimultaneouslyWithGestureRecognizer:代わりに使用されます-gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:

于 2014-08-06T09:58:26.920 に答える