UIActionsheet button 颜色

UIActionsheet button 颜色

用这种方式 不好使, 显示actionSheet.subviews 为空
for (id obj in actionSheet.subviews) {

    if ([obj isKindOfClass:[UIButton class]]) {

        UIButton *btn=(UIButton *)obj;

        [btn setTitleColor:[UIColor orangeColor] forState:UIControlStateNormal];

    }
}
阅读 4.9k
3 个回答
- (void) changeTextColorForUIActionSheet:(UIActionSheet*)actionSheet {
    UIColor *tintColor = [UIColor redColor];

    NSArray *actionSheetButtons = actionSheet.subviews;
    for (int i = 0; [actionSheetButtons count] > i; i++) {
        UIView *view = (UIView*)[actionSheetButtons objectAtIndex:i];
        if([view isKindOfClass:[UIButton class]]){
            UIButton *btn = (UIButton*)view;
            [btn setTitleColor:tintColor forState:UIControlStateNormal];

        }
    }
}

确保这个方法是在 showInView 之后调用的,如果在 showInView 之前调用,除了 cancel button 之外的所有 button 都会被上色。

UIButton *button = [UIButton buttonWithType:UIButtonTypeSystem];
[button setTittleColor...];

[[UIView appearance] setTintColor:[UIColor redColor]];

备注:因为是修改view的颜色,所以要在alert点击消失之后还原view的颜色 链接描述

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题