我在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。
请为我提供帮助,因为我尝试了很多东西和谷歌搜索,但徒劳无功。谢谢。
这显示了我与前后VC的SWR连接
这显示了NotificationVC / childVC的连接。 * Mark:* ChildVC按钮通过自定义键连接到createNotificationVC。
最佳答案
1.SWRevealViewController具有SW_Front和SW_REAR。
2.要使用此功能,您需要实现此层次结构
-> swrevealviewcontroller-> swfront ---> viewcontroller
-> swrear ---->视图控制器
3.在您的情况下,为什么该代码不起作用意味着。
4.您必须从sw_rear使用此动画,然后它才能正常工作。
关于ios - SWRevealViewController插入FrontVC不会引起动画并且不响应通知,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35699581/