我在ScrollView
中有一个标签。ScrollView
驻留在Grid
中,它的Height
是700。
当我用5行文本填充Label
时,它的Height
是250。
<ScrollView Grid.Row="1" Margin="0,4,0,4" Padding="0,4,0,4" VerticalOptions="Fill" Scrolled="sv_Scrolled">
<Label x:Name="label" TextType="Html" BackgroundColor="Blue" Margin="16,0,16,0" Padding="30,4,30,4" LineBreakMode="WordWrap" VerticalOptions="Fill"/>
</ScrollView>
如何让Label
填充ScrollView
的高度?
我希望这样做的原因是,我希望蓝色BackgroundColor
填充ScrollView
的整个高度。
在Android中,这不是问题,但在iOS中,高度顽固地保持在250,即使我设置:
label.HeightRequest = 700;
label.MinimumHeightRequest = 700;
有什么想法吗
--更新--
我已经部分解决了这一点,延长底部填充的标签,以弥补差距的高度和修复的颜色问题。
我的问题是,现在当标签大小增加到大于ScrollView高度时,我不再需要额外的填充,所以我删除了它,ScrollView不会调整大小,差距仍然存在。
我试过:
scrollView.ForceLayout
scrollViewRenderer.SetNeedsLayout()
scrollViewRenderer.SetNeedsDisplay()
都不管用,有什么想法吗?
1条答案
按热度按时间zz2j4svz1#
您可以直接设置ScrollView的
BackgroundColor
来实现您想要的 (前提是我正确理解了您的要求),而不是使用Label为ScrollView提供背景颜色:如果您需要在ScrollView和背景颜色之间设置间隙,您也可以将Label放置在Grid内部,然后设置Grid的背景颜色: