是否可以将UINavigationView嵌入到UIView中

时间:2018-05-18 04:02:06

标签: ios swift

最近,我开始以编程方式开发iOS应用程序而不使用故事板或任何笔尖,纯编码。

我想做一个弹出菜单,就像你在导航栏上按下的那样,它用动画显示信息,我想到的解决方案是将两个UIView类型的子视图添加到我的主视图控制器,然后嵌入对于那两个UIViews的tableView和UINavigationView,我得到了约束和部署菜单的操作,它只是嵌入其他元素来完成我的任务。

我的问题是,我应该寻找的功能是什么? 我不知道如何解决这个问题,它非常基本,但是在编程方面,我发现的东西并不多,通常它们只是立即回答或放置代码,但我想了解它背后的逻辑。 我知道有图书馆但我真的相信更好地了解如何做到这一点并开发我自己的版本。

我已经尝试添加一个UINavigationController作为我的UIView的子视图,它说这个UINavigation不是一种UIView,我理解这一点,它实际上是有意义的,但我仍然没有找到任何有用的东西实现为代码

你们的任何帮助将不胜感激,我愿意接受建议,如果你知道更好的方法来完成这项任务,或者你知道我应该在哪里寻求解决这个问题,请让我知道它,因为我是一个在iOS开发中初学者。

这是我的主要想法

enter image description here

2 个答案:

答案 0 :(得分:0)

尝试使用此代码可以帮助您

let sideRoot = UIStoryboard(name: "Main", bundle: nil).instantiateViewControllerWithIdentifier("sideRoot") as! SideRootViewController
let navController = UINavigationController(rootViewController: sideRoot)
self.addChildViewController(navController)
sideView.addSuview(navController.view)

答案 1 :(得分:0)

  

嗨,首先你可以使用任何视图并添加动画子视图。   您可以使用任何想要的菜单UIView动画。   在您的情况下,您可以在CGAffineTransform中使用Transition   在呈现视图之前,添加转换视图,如:

childView.transform = CGAffineTransform(translationX: 0, y: 0)

//值为0,0这里您可以根据需要进行更改,然后您可以设置为:

UIView.animate(withDuration: 0.25, animations: {
        childView.transform = CGAffineTransform(translationX: parentView.frame.maxX, y: 0)
    })

//其中子视图是菜单视图,其中包含信息视图,包括表视图。

//您也可以根据需要更改值。 //让我知道它是否有帮助,或者你是否需要提问。