2017-10-12 15 views
7

私はiOSの11のために、このUISwipeActionsConfigurationにこのコードを持っているが色を変更 - Xamarin /スウィフト

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; 
    } 

のように見えるの色を変更する方法を存在しテキストとイメージ? 私はアイデアがないので、ユーザーがスワイプしたときにImageViewをセルに作成しようとしましたが、イメージはスワイプのビューの背面にあります。助けてくれてありがとう、私はあなたがこれで私を助けることができれば嬉しいです。

+0

ツール(フォトショップなど)で画像の色を変えるのは簡単なので、テキストの代わりに画像を使うことができると思います。 –

答えて

0

実際には、UISwipeActionsConfigurationを変更してテキストの色を変更し、APIを使用してイメージを変更することはできません。

関連する問題