2017-10-12 4 views
7

Je cette UISwipeActionsConfiguration pour iOS 11 ce code ressembleChanger la couleur d'un texte et de l'image dans un UISwipeActionsConfiguration iOS 11 - Xamarin/Swift

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 un moyen de modifier la couleur le texte et l'image? parce que je n'ai aucune idée, j'essaye de créer un ImageView sur la cellule quand l'utilisateur balaye mais l'image est à l'arrière de la vue du glissement. Merci pour l'aide et j'espère que vous pouvez m'aider avec ça.

+0

Je pense que vous pouvez utiliser l'image au lieu du texte, car il est facile de changer la couleur de l'image avec l'outil (photoshop etc.). –

Répondre

0

En fait, modifier UISwipeActionsConfiguration pour modifier la couleur du texte et l'image avec l'API n'est pas possible.