如何在 iOS 上显示 RadListView

How to show RadListView on iOS

我有以下代码:

<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 上没有显示任何内容。

备注

我不知道这是否与问题有关,但我从休息服务处得到这些物品。

感谢任何帮助!!

在 RLV 组件上尝试一个高度值,例如 height="100%",以便它填充父级。 iOS 不像 android 那样做自动布局,这就是为什么你 运行 加入这个:)

您还没有为您的 GridLayout 提供 rowscolumns 定义。如果您这样做,RadListView 可能会出现:

<GridLayout row="7" col="0" colSpan="3" rows="*" columns="*">

当项目异步时,问题出在高度上,在这种情况下,我需要手动将高度设置为 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>