我正在使用Nativescript-vue应用程序,但是Image组件的大小不正确会遇到一个奇怪的问题。
我正在尝试使用Stretch =“ aspectFill”为组件正确调整图像大小。它最初在ios模拟器中进行实时预览时起作用,但是当您下次渲染该组件时,它会减小尺寸以适合空间,而不是AspectFill。我的组件代码如下。
<StackLayout>
<Image :src="promo.image" stretch="aspectFill" height="200" />
<StackLayout class="promocontainer" row="1" padding="0">
<GridLayout columns="*,*" class="region">
<Label col="0" :text="promo.region" />
<Label col="1" :text="'$' + promo.price" textAlignment="right" />
</GridLayout>
<Label :text="promo.inclusions_heading" class="heading" />
<Label :text="promo.heading" padding="10" textWrap="true" class="tagline" />
<Label :text="promo.introText" padding="10" textWrap="true" class="text" />
</StackLayout>
</StackLayout>
当您更改strech选项时,ios中的实时预览将显示预期的行为,如下所示
与应用程序交互,从该页面导航并返回或在物理ios设备上预览时,图像显示如下,而不是上面期望的方面填充图像。
我希望以前有人遇到过这种情况,并且可能能够协助制定解决方案。
答案 0 :(得分:1)
该组件被添加到ListView,这导致了上面的呈现问题。我通过将组件包装在ScrollView和StackLayout中来解决此问题。这立即解决了拉伸渲染问题。
带有拉伸错误的原始代码:
SortByColumns(Filter(Orderproces, StartsWith(Title, TextSearchBox1.Text)), "Title", If(SortDescending1, Descending, Ascending))
解决方案:
SortByColumns(Filter(Orderproces, StartsWith(Title, TextSearchBox1.Text) || TextSearchBox1.Text in 'Behandelende Afdeling'), "Title", If(SortDescending1, Descending, Ascending))
看起来ListView计算项目大小的方式有所不同,并且至少在涉及其他内容时,它与图像拉伸不兼容。