我将一个uiview文件嵌入到了我的tableview头中
(类TopHeader: UIView,UICollectionViewDelegate,UICollectionViewDataSource)
如果我使用动画,我会得到:TopHeader类型的值没有成员'present‘( self.present(MyOtherViewController(doModes:.photo),present(_:animated:completion:):true,completion: nil))
我如何在那里使用目前的方法?我可以从这个uiview文件中调用uiviewcontroller中的函数吗?
发布于 2018-04-10 22:28:24
不能调用present(_:animated:completion),因为它是UIViewController的方法,而不是UIView的方法。
你不应该直接从视图中呈现视图控制器。如果需要此行为,最好使用UIViewController而不是UIView,因为视图控制器中无论如何都会包含view。
发布于 2018-04-10 22:28:53
我可以从这个uiview文件中调用uiview控制器中的函数吗?
是的,如果视图在视图控制器层次结构中,您可以递归地获取next响应器,直到到达拥有的视图控制器为止。
发布于 2018-04-10 22:29:07
present(_:animated:completion:)方法是UIViewController的方法,不是UIView的方法。您需要找出一种将请求传递给视图控制器的方法。通常的模式是定义一个协议,让视图作为视图控制器显示另一个视图控制器。然后设置视图,使视图控制器作为符合该协议的委托。
https://stackoverflow.com/questions/49756022
复制相似问题