Change Text Color of Items in UIActionSheet - iOS 8

前端 未结 9 1403
星月不相逢
星月不相逢 2020-11-29 02:26

I had been using following code to change text color of items which I add in UIActionSheet.:

- (void)willPresentActionSheet:(UIActionSheet *)act         


        
9条回答
  •  既然无缘
    2020-11-29 02:44

    There's an easy way if you still want to use UIActionSheet instead of UIAlertController in order to support older iOS versions.

    UIActionSheet actually uses UIAlertController in iOS 8, and it has a private property _alertController.

    SEL selector = NSSelectorFromString(@"_alertController");
    if ([actionSheet respondsToSelector:selector])
    {
        UIAlertController *alertController = [actionSheet valueForKey:@"_alertController"];
        if ([alertController isKindOfClass:[UIAlertController class]])
        {
            alertController.view.tintColor = [UIColor blueColor];
        }
    }
    else
    {
        // use other methods for iOS 7 or older.
    }
    

    For Swift Below code should works

    let alertAction = UIAlertAction(title: "XXX", style: .default) { (action) in
    
         }
    
        alertAction.setValue(UIColor.red, forKey: "titleTextColor")
    

提交回复
热议问题