0

我正在制作一个 tvOS 应用程序UIStorybord。我想根据导航堆栈中UIViewcontroller的前一个模糊我的当前。UIViewController我正在UIVisualEffectView为此使用课程。所以我有我的 firstViewController,我添加UIImageView了它。在下一个UIViewController(这个 VC 将被推到我的 FirstViewController 之上)我添加UIVisualEffectView到故事板中的 self.view 上,然后UIButton在 view 的属性中添加了一个UIVisualEffectView,但我没有得到任何模糊效果。

我还没有为此编写任何代码。我必须为此编写代码吗?我想在情节提要中做所有事情,因为在情节提要中添加约束比在代码中更容易。

这是图片 故事板图像

任何帮助将不胜感激。谢谢

4

1 回答 1

0

默认导航转换将前一个 viewController 移动到左侧,然后将其从视图堆栈中移除。

您将需要您的 viewController 来实现UINavigationControllerDelegate协议:

- (id<UIViewControllerAnimatedTransitioning>)navigationController:(UINavigationController *)navigationController animationControllerForOperation:(UINavigationControllerOperation)operation fromViewController:(UIViewController *)fromVC toViewController:(UIViewController *)toVC;

现在您将需要实现您的自定义动画对象,该对象在上述委托方法中实现UIViewControllerAnimatedTransitioning并返回该类的实例。UINavigationController

为了简化这个过程,你可以添加一个UIVisualEffectView到你的第二个 viewController。您将视图内容放置在效果视图中。

在您的自定义动画器中,您只需为目标 viewController 设置动画并将源 viewController 保持在原处。

于 2015-11-09T12:22:37.393 回答