我在SWRevealViewController上工作,在这种情况下,-

演示代码链接-https://www.dropbox.com/s/02fjub838hv95cr/SWRevealVC.zip?dl=0

1)我必须在FrontVC中呈现ViewController的视图*(在情节提要中的NotificationVC)*。

** 2)**此childVC的View有一个按钮*(createNotification)*,该按钮通过自定义segue(SWRevealViewControllerSeguePushController)连接到另一个viewController *(createNotificationVC)*,后者具有后退按钮

** 3)**按下后退按钮的用户会再次返回frontVC,并将某些消息传递给FrontVC。

对于此消息传递,我正在使用通知模式。

在我的frontVC中-

override func viewDidLoad()
    {
        super.viewDidLoad()

        self.revealViewController().delegate = self

        self.view.addGestureRecognizer(self.revealViewController().panGestureRecognizer())

        if self.revealViewController() != nil
        {

            self.view.addGestureRecognizer(self.revealViewController().panGestureRecognizer())
            self.view.addGestureRecognizer(self.revealViewController().tapGestureRecognizer())
        }

        let NtfctnVC = self.storyboard?.instantiateViewControllerWithIdentifier("NtfctnVC")

        addChildViewController(NtfctnVC!)
        NtfctnVC!.view.frame = CGRectMake(0, 0,self.customView.frame.width, self.customView.frame.height)
        customView.addSubview(NtfctnVC!.view)//add the childVC's view


NtfctnVC!.didMoveToParentViewController()

        NSNotificationCenter.defaultCenter().addObserver(self, selector: "methodOfReceivedNotification:", name:"NotificationIdentifier", object: nil)
    }
    func methodOfReceivedNotification(notification: NSNotification)
    {
        //Take Action on Notification
        let userInfo = notification.userInfo
        print(userInfo!["sentTag"] as? Int)
        NSNotificationCenter.defaultCenter().removeObserver(self)


    }


在createNotificationVC的后退按钮操作中,我有-

 @IBAction func bck(sender: AnyObject)
    {
        let frontVC = self.storyboard?.instantiateViewControllerWithIdentifier("frontNVC") //frontNVC is the navigation controller of frontVC

        NSNotificationCenter.defaultCenter().postNotificationName("NotificationIdentifier", object: nil, userInfo: ["sentTag":2])
        self.revealViewController().pushFrontViewController(frontVC, animated: true)//here the frontVC is presented with no animation.
}


问题-

1)未显示执行自定义搜索时的动画。
2)通知消息未传递到frontVC。

请为我提供帮助,因为我尝试了很多东西和谷歌搜索,但徒劳无功。谢谢。

ios - SWRevealViewController插入FrontVC不会引起动画并且不响应通知-LMLPHP

这显示了我与前后VC的SWR连接

ios - SWRevealViewController插入FrontVC不会引起动画并且不响应通知-LMLPHP

这显示了NotificationVC / childVC的连接。 * Mark:* ChildVC按钮通过自定义键连接到createNotificationVC。

最佳答案

1.SWRevealViewController具有SW_Front和SW_REAR。

2.要使用此功能,您需要实现此层次结构

-> swrevealviewcontroller-> swfront ---> viewcontroller
                         -> swrear ---->视图控制器

3.在您的情况下,为什么该代码不起作用意味着。

4.您必须从sw_rear使用此动画,然后它才能正常工作。

ios - SWRevealViewController插入FrontVC不会引起动画并且不响应通知-LMLPHP

关于ios - SWRevealViewController插入FrontVC不会引起动画并且不响应通知,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35699581/

10-11 14:42