0

我希望我可以使用自定义颜色在 iOS 7 中显示 Actionsheet。几天以来我一直在寻找正确的答案。任何帮助将不胜感激谢谢..

我正在使用 UIActionsheet 在其中显示 PickerView

4

3 回答 3

3

我想强调一下,这违反了 Apple 的规则,但这有效:

- (void)willPresentActionSheet:(UIActionSheet *)actionSheet
{
    [actionSheet.subviews enumerateObjectsUsingBlock:^(UIView *subview, NSUInteger idx, BOOL *stop) {
      if ([subview isKindOfClass:[UIButton class]]) {
          UIButton *button = (UIButton *)subview;
          button.titleLabel.textColor = [UIColor greenColor];
          NSString *buttonText = button.titleLabel.text;
          if ([buttonText isEqualToString:NSLocalizedString(@"Cancel", nil)]) {
             [button setTitleColor:[UIColor greenColor] forState:UIControlStateNormal];
          }
      }
  }];
}

(符合UIActionSheetDelegate

于 2014-02-11T00:09:40.537 回答
3
 UIActionSheet is not designed to be subclassed, nor should you add views to its hierarchy.
 If you need to present a sheet with more customization than provided by the
 UIActionSheet API, you can create your own.

根据苹果文档参考

所以你必须为此使用一些自定义类,

显示这个Cocoacontrols

于 2013-10-21T10:00:39.300 回答
1

我创建了扩展 UIActionSheet 功能的类,能够将颜色、字体、文本颜色和图像设置为操作表按钮。它适用于 iOs6 和 iOs7,以及 iPhone 和 iPad 应用程序。 https://github.com/gloomcore/UICustomActionSheet 不使用隐藏API,所以对Appstore来说是安全的。享受。

于 2014-02-12T22:33:14.703 回答