2016-09-02 4 views
9

유일한 옵션은 다음과 같습니다UIPreviewAction 색상을 변경할 수 있습니까? 나는 API에서 본 스타일링

  • UIPreviewActionStyleDefault
  • UIPreviewActionStyleSelected,
  • UIPreviewActionStyleDestructive

어떻게 든 다른 색상의 버튼을 칠 수 있습니까? 우리의 디자이너가 정말 당신은 UIView의 범주

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

을 나는 그것이 [여기] (http://stackoverflow.com/a/26770557/790842) – iphonic

답변

3

없음에 UIPreviewAction

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

를 구현의 ViewController 아래에서 이러한 조각을 추가 할 수있는 기본 파란색 버튼

1

을 좋아하지 않았다, 그것은이다 UIPreviewAction에서 단추 색상을 변경할 수 없습니다. 컬러 이미지를 추가하더라도 기본 파란색으로 바뀝니다.

+1

을 네 대답 생각 , 나는 이런 종류의 솔루션을 사용하지 않는 것을 선호한다고 생각합니다. iOS 업데이트로 너무 쉽게 깨지기 쉽습니다. 하지만 고마워. –

1

이 시도 :이 UIPreviewAction 확장으로

myPreviewAction.tintColor = myColor 

:

extension UIPreviewAction { 

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

}