iOS 8 UIVisualEffect UIBlurEffect和Scaling / Moving / Resizing

时间:2014-11-27 21:38:29

标签: ios cgaffinetransform uiblureffect uivisualeffectview

我有一个UIButton的子类,我模糊不清,看起来很棒:

- (id)initWithFrame:(CGRect)frame
    {
        if (self = [super initWithFrame:frame])
        {
            self.backgroundColor = [UIColor colorWithRed:0 green:0 blue:0 alpha:0.0];
            UIVisualEffect *blurEffect;
            blurEffect = [UIBlurEffect effectWithStyle:UIBlurEffectStyleDark];

            UIVisualEffectView *visualEffectView = [[UIVisualEffectView alloc] initWithEffect:blurEffect];
            visualEffectView.frame = self.bounds;

            [self insertSubview:visualEffectView atIndex:0];
            visualEffectView.userInteractionEnabled = NO;

            self.layer.cornerRadius = 23.8;
            self.clipsToBounds = YES;

            self.titleLabel.font = [UIFont fontWithName:@"DINCondensed-Bold" size:15.0];
        }
        return self;
    }

当我执行这些操作时,这些按钮必须经常移动(平移),调整大小和缩放,模糊消失并变成半透明视图。如果我使用框架/中心移动,使用CGAffineTransformation会发生这种情况。

有没有办法解决这个问题?

1 个答案:

答案 0 :(得分:1)

此问题的一个解决方案是检测设备何时更改方向并生成模糊效果并每次更新约束