Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Change color for a text and image in a UISwipeActionsConfiguration iOS 11 - Xamarin / Swift

I have this UISwipeActionsConfiguration for iOS 11 this code looks Like

enter image description here

public override UISwipeActionsConfiguration GetLeadingSwipeActionsConfiguration(UITableView tableView, NSIndexPath indexPath)
        {
            var definitionAction = ContextualDefinitionAction(indexPath.Row);
            var flagAction = ContextualFlagAction(indexPath.Row);
            var leadingSwipe = UISwipeActionsConfiguration.FromActions(new UIContextualAction[] { flagAction, definitionAction });

            leadingSwipe.PerformsFirstActionWithFullSwipe = false;
            return leadingSwipe;
        }


    public UIContextualAction ContextualDefinitionAction(int row)
    {
        string word = words[row];

        var action = UIContextualAction.FromContextualActionStyle(UIContextualActionStyle.Normal,
                                                            "Definition",
                                                            (ReadLaterAction, view, success) => {
                                                                var def = new UIReferenceLibraryViewController(word);

                                                                var alertController = UIAlertController.Create("No Dictionary Installed", "To install a Dictionary, Select Definition again, click `Manage` on the next screen and select a dictionary to download", UIAlertControllerStyle.Alert);
                                                                alertController.AddAction(UIAlertAction.Create("OK", UIAlertActionStyle.Default, null));

                                                                if (UIReferenceLibraryViewController.DictionaryHasDefinitionForTerm(word) || hasViewedAlert == true){
                                                                    PresentViewController(def, true, null);
                                                                    success(true);
                                                                }else{
                                                                    PresentViewController(alertController, true, null);
                                                                    hasViewedAlert = true;
                                                                    success(false);
                                                                }
                                                            });
        action.BackgroundColor = UIColor.Orange;
        return action;
    }

    public UIContextualAction ContextualFlagAction(int row)
    {
        var action = UIContextualAction.FromContextualActionStyle(UIContextualActionStyle.Normal,
                                                                  "Flag",
                                                                  (FlagAction, view, success) => {
                                                                        var alertController = UIAlertController.Create($"Report {words[row]}?", "", UIAlertControllerStyle.Alert);
                                                                        alertController.AddAction(UIAlertAction.Create("Cancel", UIAlertActionStyle.Cancel, null)); 
                                                                        alertController.AddAction(UIAlertAction.Create("Yes", UIAlertActionStyle.Destructive, null));
                                                                        PresentViewController(alertController, true, null);

                                                                      success(true);
                                                                  });

        action.Image = UIImage.FromFile("feedback.png");
        action.BackgroundColor = UIColor.Blue;

        return action;
    }

Exist a Way to modify the color of the text and the image? because I don't have a idea, I try creating a ImageView over the cell when the user swipe but the image is in the back of the view of the swipe. Thanks for the help and I hope you can help me with this.

like image 768
Marcos José Pérez Pérez Avatar asked Oct 12 '17 13:10

Marcos José Pérez Pérez


1 Answers

Actually modify UISwipeActionsConfiguration to change the color of the text and the image with the API is not possible.

like image 66
Marcos José Pérez Pérez Avatar answered Nov 06 '22 02:11

Marcos José Pérez Pérez