0

我有一个 iPad 应用程序,它已经在 iOS 7 上运行。我曾经使用以下代码减小操作表按钮中的文本大小:

- (void) willPresentActionSheet:(UIActionSheet *)actionSheet {
  for (UIView *subview in actionSheet.subviews) {
    if ([subview isKindOfClass:[UIButton class]]) {
      UIButton *button = (UIButton *)subview;
      button.titleLabel.font = [UIFont fontWithName:@"HelveticaNeue" size:17.0];
    }
  }
}

我正在寻找一种在 iOS 8 上使用UIAlertController和执行相同操作的方法UIAlertAction。尽管它有一个带有子视图的视图,UIAlertController但它似乎没有任何子视图。UIButtonUILabel

4

1 回答 1

0

你可以在 iOS8 上做到这一点。只是 UIAlertController 的子类,检查下面的代码:

@interface AlertController : UIAlertController

@end

@implementation AlertController

- (void)viewWillLayoutSubviews {
  [super viewWillLayoutSubviews];

  // Search for labels and change font
  [self changeLabelsFontInView:self.view];
}

- (void)changeLabelsFontInView:(UIView *)view {
  if (view.subviews.count > 0) {
    for (UIView *subview in view.subviews) {
      [self changeLabelsFontInView:subview];
    }
  } else {
    if ([view isKindOfClass:[UILabel class]]) {
      [(UILabel *)view setFont:[UIFont boldSystemFontOfSize:35.0F]];
    }
  }
}

@end
于 2014-10-18T17:49:05.130 回答