我有以下代码:
<GridLayout row="7" col="0" colSpan="3" rows="*" cols="*">
<RadListView [items]="sourcesOptions" height="100%">
<ng-template tkListItemTemplate let-item="item">
<StackLayout orientation="horizontal">
<Switch [checked]="true" class="switch"></Switch>
<Label [text]="item.label" textWrap="true" marginTop="15"></Label>
</StackLayout>
</ng-template>
<ListViewGridLayout tkListViewLayout itemHeight="200" scrollDirection="Vertical" spanCount="2"></ListViewGridLayout>
</RadListView>
</GridLayout>
它可以在Android上运行,但是在iOS上却什么也没显示。
注意
我不知道这是否与问题有关,但是我从休息服务处得到了物品。
感谢您的帮助!
答案 0 :(得分:1)
问题在于项目异步时的高度,在这种情况下,我需要将高度手动设置为RadListView组件的父布局(在我的情况下为GridLayout)。
如果我用百分比(100%)设置高度,那是行不通的,它必须是一个固定的数字,这非常不方便,因为项目数并不总是相同,所以我创建了一个函数来设置高度取决于收到的物品的数量。
这是解决此问题的代码:
<GridLayout row="7" col="0" colSpan="3" rows="*" cols="*" [height]="setHeight()">
<RadListView [items]="sourcesOptions">
<ng-template tkListItemTemplate let-item="item">
<StackLayout orientation="horizontal">
<Switch [checked]="true" class="switch"></Switch>
<Label [text]="item.label" textWrap="true" marginTop="15"></Label>
</StackLayout>
</ng-template>
<ListViewGridLayout tkListViewLayout itemHeight="70" scrollDirection="Vertical" spanCount="2"></ListViewGridLayout>
</RadListView>
</GridLayout>
答案 1 :(得分:0)
在height="100%"
之类的RLV组件上尝试一个高度值,以使其填充父级。 iOS不会像android那样进行自动布局,这就是为什么您遇到这种情况:)
答案 2 :(得分:0)
您尚未为rows
提供columns
或GridLayout
定义。如果您这样做,RadListView
可能会出现:
<GridLayout row="7" col="0" colSpan="3" rows="*" columns="*">