菜鸟教程小白 发表于 2022-12-12 11:43:12

ios - 适用于 iOS 的 ListView 行上的 NativeScript Place Disclosure Indicator


                                            <p><p>我的 NativeScript 页面中有这样的结构:</p>

<pre><code>&lt;ListView #listView =&#34;summaryData&#34; row=&#34;0&#34;&gt;
    &lt;Template let-item=&#34;item&#34;&gt;
      &lt;GridLayout columns=&#34;180, *, auto&#34; rows=&#34;auto, *&#34;&gt;
            &lt;Label =&#34;item.name&#34; col=&#34;0&#34; class=&#34;summary&#34;&gt;&lt;/Label&gt;
            &lt;Label =&#34;item.value&#34; col=1 class=&#34;summary&#34;&gt;&lt;/Label&gt;
      &lt;/GridLayout&gt;
    &lt;/Template&gt;
&lt;/ListView&gt;
</code></pre>

<p>对于 iOS 端,我想为表格 View 单元格使用 native 披露指示器。我可以使用以下代码删除分隔线:</p>

<pre><code>@ViewChild(&#34;listView&#34;) listView: ElementRef;

ngOnInit() {
    this.summaryData = this._summaryService.load();
    if (this._page.ios) {
      let iosListView = &lt;ListView&gt;this.listView.nativeElement;
      iosListView.ios.separatorStyle = 0; // Removes the separator lines.
    }
}
</code></pre>

<p>但我似乎无法弄清楚如何到达各个行,即 <code>UITableViewCell</code> 来设置附件类型值。 NativeScript 可以做到这一点吗?</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>你需要订阅ListView的<code>itemLoading</code>,然后在里面修改<code>accessoryType</code>。所以你的 html 应该是这样的:</p>

<pre><code>&lt;ListView #listView =&#34;summaryData&#34; (itemLoading)=&#34;onItemLoading($event)&#34; row=&#34;0&#34;&gt;
    &lt;Template let-item=&#34;item&#34;&gt;
      &lt;GridLayout columns=&#34;180, *, auto&#34; rows=&#34;auto, *&#34;&gt;
            &lt;Label =&#34;item.name&#34; col=&#34;0&#34; class=&#34;summary&#34;&gt;&lt;/Label&gt;
            &lt;Label =&#34;item.value&#34; col=1 class=&#34;summary&#34;&gt;&lt;/Label&gt;
      &lt;/GridLayout&gt;
    &lt;/Template&gt;
&lt;/ListView&gt;
</code></pre>

<p>然后在你的组件中拥有:</p>

<pre><code>import {ItemEventData} from &#34;ui/list-view&#34;;

onItemLoading(args: ItemEventData) {
   if (args.ios) {
       // args.ios is instance of UITableViewCell
       args.ios.accessoryType = 1; // UITableViewCellAccessoryDisclosureIndicator
   }
}
</code></pre></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 适用于 iOS 的 ListView 行上的 NativeScript Place Disclosure Indicator,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/38285528/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/38285528/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 适用于 iOS 的 ListView 行上的 NativeScript Place Disclosure Indicator