搜尋

首頁  >  問答  >  主體

ios - 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];

    }
}
大家讲道理大家讲道理2858 天前831

全部回覆(3)我來回復

  • 巴扎黑

    巴扎黑2017-04-17 15:34:05

    - (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 都會被上色。

    回覆
    0
  • 怪我咯

    怪我咯2017-04-17 15:34:05

    UIButton *button = [UIButton buttonWithType:UIButtonTypeSystem];
    [按鈕設定標題顏色...];

    回覆
    0
  • 怪我咯

    怪我咯2017-04-17 15:34:05

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

    備註:因為是修改view的顏色,所以要在alert點選消失之後還原view的顏色 連結描述

    回覆
    0
  • 取消回覆