0

iOS 7 で既に動作する iPad アプリがあります。以前は、次のコードを使用して、アクション シート ボタンのテキスト サイズを縮小していました。

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

UIAlertControllerと を使用して iOS 8で同じことを行う方法を探してい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 に答える