小编Nas*_*ban的帖子

iOS 7动态模糊效果,如控制中心

我正在尝试制作一个与iOS7中的Control Center类似的控制器.从WWDC会议#226我已经学会了如何使用不同的效果获得模糊的图像

UIGraphicsBeginImageContextWithOptions(image.size, NULL, 0);

[view drawViewHierarchyInRect:rect];

UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();

lightImage = [newImage applyLightEffect];
Run Code Online (Sandbox Code Playgroud)

因此,换句话说,我们只捕获一些图像(制作屏幕截图),执行模糊效果并根据我们的需要使用此模糊图像.

但是如果你在一些动态内容之上打开控制中心,你会注意到控制中心模糊的背景和内容都在变化.

有人知道如何复制这种行为吗?

我看到它的唯一方法是捕捉内容并以一定间隔(例如半秒)制作模糊效果.但它看起来多余.

iphone objective-c blur ios7

35
推荐指数
3
解决办法
3万
查看次数

ios 7自定义呈现和解除过渡

我正在制作自定义存在并解除转换并且存在一些问题.我想要做的是在iOS 7中重复这个很酷的深度动画(当我们打开/关闭一些应用程序时).我有第一和第二控制器.所有动画都在First控制器中(它支持UIViewControllerTransitioningDelegate和UIViewControllerAnimatedTransitioning).所以,我只是检查:如果它正在呈现 - 我正在做一个动画(放大第一和第二个视图),如果它正在解雇 - 我正在做另一个动画(缩小第一个和第二个视图).当前动画工作正常,解雇动画时会出现问题.出于某种原因,当我缩小我的第二个控制器(它是UINavigationController)时,我看到它背后的黑色背景(这是错误的,因为我希望在它缩小时看到我的第一个控制器).

- (void)animateTransition:(id<UIViewControllerContextTransitioning>)transitionContext {
    UIView *transitionView = [transitionContext containerView];

    id toViewController = [transitionContext viewControllerForKey:UITransitionContextToViewControllerKey];
    id fromViewController = [transitionContext viewControllerForKey:UITransitionContextFromViewControllerKey];

    BOOL isPresenting;

    isPresenting = [toViewController isKindOfClass:[UINavigationController class]];

    UINavigationController *navigator = isPresenting ? toViewController : fromViewController;

    if (isPresenting) {
        [transitionView addSubview:navigator.view];
        navigator.view.transform = CGAffineTransformMakeScale(0.1, 0.1);
        navigator.view.alpha = 0;
    }

    navigator.view.center = self.startButton.center;

    void(^AnimationBlock)(void) = ^ {
        if (isPresenting) {
            navigator.view.transform = CGAffineTransformMakeScale(1, 1);
            self.view.transform = CGAffineTransformMakeScale(4, 4);
            navigator.view.alpha = 1;
            self.startButton.alpha = 0;
        } else {
            navigator.view.transform …
Run Code Online (Sandbox Code Playgroud)

iphone objective-c ios ios7

11
推荐指数
3
解决办法
8646
查看次数

标签 统计

ios7 ×2

iphone ×2

objective-c ×2

blur ×1

ios ×1