从应用程序委托中删除从UITabBarController呈现的viewcontroller

时间:2015-04-21 23:26:38

标签: ios iphone swift uiviewcontroller appdelegate

为了达到与许多照片应用程序类似的效果我:

  1. 在App delegate
  2. 中以编程方式设置我的标签栏
  3. 在我要用于启动相机的标签栏项目顶部添加了自定义按钮 (基本上使用这种方法:What's the best way of adding a custom centre button to a tab bar?
  4. 创建了一个处理相机功能的视图控制器
  5. 我从按钮开始以这种方式启动视图控制器,它可以工作。但是,我不能有效地解雇它。

    didFinishLaunchingWithOptions 中的

     var tabBC = UITabBarController()
     //....
    
     shutterButton.addTarget(self, action: "presentCamera:", forControlEvents: UIControlEvents.TouchUpInside)
     tabBC.view.addSubview(shutterButton)
    

    附加行动:

    func presentCamera(sender: AnyObject){
        let composeSB = UIStoryboard(name: "Compose", bundle: nil) as UIStoryboard
        let composeVC = composeSB.instantiateViewControllerWithIdentifier("composeVC") as ComposeViewController
        self.window?.rootViewController!.presentViewController(composeVC, animated: false, completion: nil)
    
    }
    

    ComposeViewController 中调用此方法,但视图控制器不会被解除。我认为这会解雇VC,我会在tabbarcontroller中看到这些视图。

    func cameraOverlayDidCancel() {
    
       // I've tried:
    
        dismissViewControllerAnimated(true, completion: nil)
      //self.dismissViewControllerAnimated(true, completion: nil)    
      //self.view.parentViewController.dismissViewControllerAnimated(true, completion: nil)
    
    }
    

0 个答案:

没有答案