如图所示,我在屏幕上有两个控制器。 现在,当我选择tableView时,我想在红色区域中显示ThirdViewController,我尝试使用present(),但它会在整个屏幕上显示。我该如何解决?
答案 0 :(得分:1)
尝试一下
从文件夹演示文稿
下载3个文件将此添加到将要从中打开Second VC的VC
lazy var slideInTransitioningDelegate = SlideInPresentationManager()
转到其他VC时;
let vc = self.storyboard?.instantiateViewController(withIdentifier: "Ident") as? YourViewController
vc?.delegate = self
let navigationController = UINavigationController(rootViewController: vc!)
slideInTransitioningDelegate.direction = .bottom // or .left, .right
slideInTransitioningDelegate.disableCompactHeight = true
navigationController.transitioningDelegate = slideInTransitioningDelegate
navigationController.modalPresentationStyle = .custom
self.present(navigationController, animated: true, completion: nil)
教程-https://www.raywenderlich.com/915-uipresentationcontroller-tutorial-getting-started
项目-https://koenig-media.raywenderlich.com/uploads/2016/08/Medal_Count_Completed.zip
答案 1 :(得分:0)
您可以通过以下方式执行此操作:首先将SecondViewController作为子控制器添加到MainViewController中,然后在UITableViewCell
中将SecondViewController的视图添加为子视图。
var secondViewController : SecondViewController!
override func viewDidLoad() {
super.viewDidLoad()
secondViewController = self.storyboard?.instantiateViewController(withIdentifier: "SecondViewController") as! SecondViewController
self.addChildViewController(setupProfileViewController)
}
现在,当您想显示SecondViewController视图控制器(如didSelectRowAt indexPath
的{{1}}方法或任何其他按钮操作)上时,请添加以下代码行:
UITableViewCell
答案 2 :(得分:0)
没有附加图像,所以我不确定您到底想要什么;但是要在另一个视图控制器的区域中显示一个视图控制器,可以使用容器视图,这是关于container view
的有用教程要加载某些操作,可以在操作完成后显示容器视图。