问题描述
我正在尝试使顶部轮播视图全屏显示。但是,carouselview 中每张图片的左侧和上部都有一个轻微的边框。如果我为网格设置背景颜色,它会被渲染到角落,而不是图片。此代码适用于Android,该问题仅存在于iOS。有什么想法吗?
<Grid>
<Grid RowSpacing="0" ColumnSpacing="0">
<Grid.RowDeFinitions >
<RowDeFinition Height="285"/>
<RowDeFinition Height="auto"/>
</Grid.RowDeFinitions>
<Grid Grid.Row="0" >
<CarouselView VerticalOptions="Start" Margin="0,0" HorizontalOptions="Start" Loop="false" x:Name="carouselview" ItemTemplate="{StaticResource templateSelector}" />
</Grid>
模板选择器:
<Grid RowSpacing="0" HeightRequest="280">
<Grid.GestureRecognizers>
<TapGestureRecognizer Tapped="TapGestureRecognizer_Tapped"/>
</Grid.GestureRecognizers>
<Image
Source="{Binding fullPic}"
Aspect="Fill"
x:Name="img_pic"
VerticalOptions="FillAndExpand"
HorizontalOptions="FillAndExpand" />
<Grid Margin="0,4,4"
HorizontalOptions="End"
VerticalOptions="End">
<BoxView
CornerRadius="20"
IsVisible="{Binding isNumberVisible}"
BackgroundColor="#99000000"/>
<Label
Text="{Binding number}"
FontSize="15"
VerticalOptions="Center"
HorizontalOptions="Center"
FontFamily="Font_11"
TextColor="White"
/>
</Grid>
</Grid>
解决方法
将此添加到 carouselview 的数据模板的主网格修复了问题:
Margin="-2"