19 c# xamarin.ios xamarin.forms
我ViewCell用来在表格设置页面中创建行.我有一个选择Light或Dark主题的设置.
<ViewCell Height="50">
<StackLayout x:Name="darkTheme" VerticalOptions="FillAndExpand" Padding="20,0,20,0">
<StackLayout Orientation="Horizontal" VerticalOptions="CenterAndExpand">
<Label Text="Dark" XAlign="Center" FontSize="15"/>
<Label x:Name="darkThemeCheckmark" Text="{x:Static local:FontAwesome.FACheck}" FontFamily="FontAwesome" XAlign="Center" IsVisible="false" FontSize="12" HorizontalOptions="EndAndExpand"/
</StackLayout>
</StackLayout>
</ViewCell>
<ViewCell Height="50">
<StackLayout x:Name="lightTheme" VerticalOptions="FillAndExpand" Padding="20,0,20,0">
<StackLayout Orientation="Horizontal" VerticalOptions="CenterAndExpand">
<Label Text="Light" XAlign="Center" FontSize="15"/>
<Label x:Name="lightThemeCheckmark" Text="{x:Static local:FontAwesome.FACheck}" FontFamily="FontAwesome" XAlign="Center" IsVisible="false" FontSize="12"/>
</StackLayout>
</StackLayout>
</ViewCell>
Run Code Online (Sandbox Code Playgroud)
每当我从暗到主题切换时,我的行之间的左侧有微弱的光线,我似乎无法摆脱它.请参考下图:
在我的渲染器中,我设置了以下内容:
tableView.LayoutMargins = new UIEdgeInsets() { Left = 20 };
cell.SeparatorInset = new UIEdgeInsets() { Left = 20 };
cell.LayoutMargins = new UIEdgeInsets() { Left = 20 };
Run Code Online (Sandbox Code Playgroud)
谁知道如何摆脱这条线?
编辑:
提前道歉,如果您已经考虑过这一点,但我相信您正在寻找的是“TableView.SeparatorInset”,这将适用于您的渲染器,而不是您在 PCL 中使用的 xaml。您可以在此链接中找到有关设置表格视图样式的文档。
例如
TableView.SeparatorInset.InsetRect(new CGRect(4, 4, 150, 2));
Run Code Online (Sandbox Code Playgroud)
移动分隔符的插入将解决我在另一个答案的评论中提到的有关整个表格移动的问题。如果您已经尝试过此方法,请告诉我,这是最简单的解决方案,但还有其他选项可供您使用。(他们只是没那么好)。
编辑:通过创建自己的分隔符来实现目标的示例,这不是我最喜欢的,但也可以解决您突出显示的问题,因为您可以完全控制分隔符的样式。参考这个链接
| 归档时间: |
|
| 查看次数: |
938 次 |
| 最近记录: |