0
我正嘗試在我的應用程序的滑出菜單上爲ListView自定義選定的背景顏色。所以我有這個習俗ViewCellRenderer,但是我還是對所選項目的標準灰色背景:在Xamarin Forms中設置ViewCellRenderer上的自定義SelectedBackgroundView沒有效果
public class MenuViewCellRenderer : ViewCellRenderer
{
UIView background;
public override UITableViewCell GetCell(Cell item, UITableViewCell reusableCell, UITableView tv)
{
var cell = base.GetCell(item, reusableCell, tv);
if (background == null)
{
background = new UIView
{
BackgroundColor = UIColor.Brown
};
}
cell.SelectedBackgroundView = background;
/*
SANITY CHECKS:
cell.BackgroundView = background; // this works, proving that I can override SOMETHING with my renderer
cell.MultipleSelectionBackgroundView = background; // tried this for just in case
cell.SelectionStyle = UITableViewCellSelectionStyle.None; // has no effect
Debug.WriteLine("I can read this in the console"); // yip
*/
return cell;
}
}
誰能想到這是爲什麼不工作的原因? 任何建議的替代品?
您的代碼適用於我,但SelectedBackgroundView只能在短時間內處於活動狀態,因此我看到棕色背景,但它很快會淡出回到非隔離背景視圖。這是iOS的默認行爲。你是否在尋找細胞來保持選定的背景顏色,直到選中另一個細胞?這可能會更復雜一點。 – jgoldberger
感謝您提供的非常有用的反饋@jgoldberger我不夠快速地看到棕色背景。你的回答對我來說就是這個問題,所以你可以請你重新發佈一個答案,這樣我就可以把它作爲解決這個謎團的決定。 –
會做,謝謝 – jgoldberger