2014-11-27 7 views
5

ho una sottoclasse di un UIButton che sto sfocatura e sembra grande:iOS 8 UIVisualEffect UIBlurEffect e Scaling/spostamento/ridimensionamento

- (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; 
    } 

Questi pulsanti devono muoversi (tradurre), ridimensionare e scalare spesso e la sfocatura dello scompare e diventa una vista semi trasparente quando eseguo tali azioni. Questo succede se mi sto spostando usando il frame/centro, di usare CGAffineTransformation.

C'è un modo per curare questo?

+0

Fa l'utente tocca il pulsante per attivare la trasformazione? – andrewbuilder

risposta

1

Una soluzione a questo problema è quella di rilevare quando il dispositivo cambiato orientamento e generare l'effetto di sfocatura e aggiornare i vincoli ogni volta