2016-09-02 106 views
9

sadece seçenekler:UIPreviewAction rengini değiştirmek mümkün mü? Ben API gördüğüm şekillendirme için

  • UIPreviewActionStyleDefault
  • UIPreviewActionStyleSelected,
  • UIPreviewActionStyleDestructive

bir şekilde başka bir renk düğmeleri boyamak mümkün mü? Bizim tasarımcı gerçekten bir UIView kategorisinde

- (UIView *)superViewOfClass:(Class)class { 
    UIView *parent = self; 
    while ((parent = parent.superview)) { 
     if ([parent isKindOfClass:class]) { 
      return parent; 
     } 
    } 
    return nil; 
} 
+0

Ben [buradan] (http://stackoverflow.com/a/26770557/790842) – iphonic

cevap

3

Hayır yılında UIPreviewAction

- (void)viewWillAppear:(BOOL)animated { 
    [super viewWillAppear:animated]; 
    UIView *containerView = [self.view superviewOfClass:NSClassFromString(@"_UIVisualEffectContentView")]; 
    containerView.tintColor = YOUR_CUSTOM_COLOR; 
} 

uygulayan viewcontroller için aşağıdaki üzerine bu snippet'lerin varsayılan mavi düğmeleri

1

sevdim vermedi, öyle UIPreviewAction'da düğme renklerini değiştirmek mümkün değil. Renkli görüntüler ekleseniz bile, varsayılan mavi renge döner.

+1

Evet cevap olduğunu düşünüyorum Bence bu tür çözümleri kullanmamayı tercih ediyorum. IOS güncellemeleri ile kırılması çok kolay. Ama teşekkür ederim –

1

bu deneyin: Bu UIPreviewAction uzantısı ile

myPreviewAction.tintColor = myColor 

:

extension UIPreviewAction { 

    var tintColor: UIColor? { 
     get { 
      return value(forKey: "_color") as? UIColor 
     } 
     set { 
      setValue(newValue, forKey: "_color") 
     } 
    } 

} 
İlgili konular