在 UISwipeActionsConfiguration iOS 11 - Xamarin / Swift 中更改文本和图像的颜色
Change color for a text and image in a UISwipeActionsConfiguration iOS 11 - Xamarin / Swift
我有这个 UISwipeActionsConfiguration iOS 11 这个代码看起来像
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,但图像位于滑动视图的后面。感谢您的帮助,希望您能帮助我。
实际上修改 UISwipeActionsConfiguration 以更改文本和图像的颜色 API 是不可能的。
我有这个 UISwipeActionsConfiguration iOS 11 这个代码看起来像
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,但图像位于滑动视图的后面。感谢您的帮助,希望您能帮助我。
实际上修改 UISwipeActionsConfiguration 以更改文本和图像的颜色 API 是不可能的。