我是Xamarin表格的新手。似乎没有属性可以在“表”视图中设置EntryCell的背景颜色或文本颜色。当iOS的主题处于darkMode时,是否可以自定义该方法?
DarkMode将文本颜色更改为白色,与背景颜色相同。所以文字现在不可见
答案 0 :(得分:1)
要为background color
中的 EntryCell 设置text color
和xamarin.forms iOS
,可以使用自定义渲染器:
[assembly: ExportRenderer(typeof(MyEntryCell), typeof(myEntryCelliOSCellRenderer))]
namespace App99.iOS
{
public class myEntryCelliOSCellRenderer : EntryCellRenderer
{
public override UITableViewCell GetCell(Cell item, UITableViewCell reusableCell, UITableView tv)
{
var nativeCell = (EntryCell)item;
var cell = base.GetCell(nativeCell, reusableCell, tv);
((UITextField)cell.Subviews[0].Subviews[0]).TextColor = UIColor.Orange;
((UITextField)cell.Subviews[0].Subviews[0]).BackgroundColor = UIColor.Green;
return cell;
}
}
}
并在Xamarin.forms项目中使用它:
public partial class Page1 : ContentPage
{
public Page1()
{
InitializeComponent();
TableView tableView = new TableView
{
Intent = TableIntent.Form,
Root = new TableRoot
{
new TableSection
{
new MyEntryCell
{
Label = "EntryCell:",
Placeholder = "Type Text Here",
}
}
}
};
this.Content = new StackLayout
{
Children =
{
tableView
}
};
}
}
public class MyEntryCell : EntryCell {
}