无法在animation期间将mainview旁边的子视图最小化

我有两个视图,videoView(它是mainView)和subVideoView(它是mainView的子视图)。

我正在试图同时使用animation同时最小化两个视图,如下面的代码所示。 我能够最小化videoView(即mainView)而不是subVideoView。

但是,当我隐藏代码以最小化videoView(即mainView)时,我能够最小化subVideoView。

我相信它必须以我的animation方式做一些事情。

有人可以请教,我怎样才能最大限度地减less这两个意见(成比例)同时animation,结果与下面的结果。

在这里输入图像说明

已有的代码结果 在这里输入图像说明

func minimiseOrMaximiseViews(animationType: String){ UIView.animate(withDuration: 0.5, delay: 0, options: [], animations: { [unowned self] in switch animationType { case "minimiseView" : // Minimising subVideoView self.subVideoView.frame = CGRect(x: self.mainScreenWidth - self.minSubVideoViewWidth - self.padding, y: self.mainScreenHeight - self.minSubVideoViewHeight - self.padding, width: self.minSubVideoViewWidth, height: self.minSubVideoViewHeight) // Minimising self ie videoView self.frame = CGRect(x: self.mainScreenWidth - self.videoViewWidth - self.padding, y: self.mainScreenHeight - self.videoViewHeight - self.padding, width: self.videoViewWidth, height: self.videoViewHeight) self.layoutIfNeeded() case "maximiseView": // Maximising videoView self.frame = CGRect(x: 0, y: 0, width: self.mainScreenSize.width, height: self.mainScreenSize.height) // Maximising subVideoView self.subVideoView.frame = CGRect(x: self.mainScreenWidth - self.maxSubVideoViewWidth - self.padding, y: self.mainScreenHeight - self.maxSubVideoViewHeight - self.padding - self.buttonStackViewBottomPadding - buttonStackViewHeight, width: self.maxSubVideoViewWidth, height: self.maxSubVideoViewHeight) default: break } 

按照你的要求在mainView中添加 视图并设置

 mainView.clipsToBounds = true 

minimiseOrMaximiseViews方法中,您只需要pipe理mainView的 Y轴来显示和隐藏。

当我将两个视图(videoView和subVideoView)都设置为窗口的子视图(即UIApplication.shared.keywindow )时,我可以同时使用animation同时最小化两个视图。