- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这是我目前拥有的:
<TableView Intent="Settings">
<TableRoot>
<TableSection>
<TableSection.Title>
This appears in uppercase
</TableSection.Title>
最佳答案
对于iOS,您需要具有UITableView原生控件的XF TableView TableViewRenderer。更多内容:
https://developer.xamarin.com/guides/xamarin-forms/application-fundamentals/custom-renderer/renderers/
下面是解决方案。函数Draw的渲染器中的代码应在OnElementChanged中完成,但不幸的是,Xamarin似乎有一个https://bugzilla.xamarin.com/show_bug.cgi?id=58731错误另一个问题是,文本转换或https://bugzilla.xamarin.com/show_bug.cgi?id=58732均不起作用
另一项小型优化-避免每次添加控件绘制的textDecapitalized时都在渲染器中进行文本转换。
回答另一个问题,如何更改文本大小,我添加了hv.TextLabel.Font集(注释掉,但可以正常工作)。
因此,解决以下两个错误:
XML
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:local="clr-namespace:ButtonRendererDemo;assembly=ButtonRendererDemo"
x:Class="ButtonRendererDemo.CustomTablePage">
<ContentPage.Content>
<local:CustomTableView Intent="Settings">
<TableRoot>
<TableSection Title="First Case Sensitive Header">
<SwitchCell Text="New Voice Mail" />
</TableSection>
<TableSection Title="Second Case Sensitive Header">
<SwitchCell Text="New Mail" On="true" />
</TableSection>
</TableRoot>
</local:CustomTableView>
</ContentPage.Content>
</ContentPage>
namespace ButtonRendererDemo
{
[XamlCompilation(XamlCompilationOptions.Compile)]
public partial class CustomTablePage : ContentPage
{
public CustomTablePage()
{
InitializeComponent();
}
}
public class CustomTableView : TableView
{
}
}
[assembly: ExportRenderer(typeof(CustomTableView), typeof(CustomTableViewRenderer))]
namespace ButtonRendererDemo.iOS
{
public class CustomTableViewRenderer : TableViewRenderer
{
bool textDecapitalized = false;
public override void Draw(CGRect rect)
{
base.Draw(rect);
if (!textDecapitalized)
{
textDecapitalized = true;
var tableView = Control as UITableView;
var numSections = tableView.NumberOfSections();
for (nint s = 0; s < numSections; s++)
{
var hv = tableView.GetHeaderView(s);
if (hv != null) //always null in OnElementChanged. Bug reported
{
//unfortunately TextInfo doesn't work. Bug reported
//TextInfo textInfo = new CultureInfo("en-US", false).TextInfo;
// OR
//TextInfo textInfo = Thread.CurrentThread.CurrentCulture.TextInfo;
if (hv.TextLabel.Text.ToUpper().StartsWith("FIR"))
hv.TextLabel.Text = "First Case Sensitive Header";
else if (hv.TextLabel.Text.ToUpper().StartsWith("SEC"))
hv.TextLabel.Text = "Second Case Sensitive Header";
//hv.TextLabel.Font = UIFont.FromName(hv.TextLabel.Font.Name, 5f);
}
}
}
}
}
}
关于xamarin - 使用自定义渲染器,我可以使TableSection.Title以小写混合大小写出现吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45622532/
在将 GridViews HeaderRow.TableSection 设置为 TableRowSection.TableHeader 时,我遇到了一个严重的错误:表格必须包含按页眉、正文和页脚顺序排
是否可以删除 xamarins TableSection 的顶部蓝色边框(或至少更改其颜色): 我查看了 Xamarin TableView 文档,但没有找到任何帮助: https://develop
我正在使用渲染器来允许我在 TableView 中设置自定义页脚。渲染器可以工作,但我希望能够为不同的表格部分设置不同的页脚。例如,表格第 0 部分的一个页脚和表格第 1 部分的另一个页脚,一直到表格
我喜欢在 xaml 中做尽可能多的事情,我有一个带有 TableSection 的 TableView`。
我有一个 TableView,在根目录中有 3 个 TableSection: var tableView = new TableView { RowHeight = 60, Root = n
我想将默认的 iOS 页脚添加到 Xamarin Forms 表格 View 中的表格部分。我该怎么做呢?我假设是一个客户渲染器,但我只是读到这可以为 Tableview 完成? 为了展示一个示例,下
我是一名优秀的程序员,十分优秀!