首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法访问iOS上的Xamarin.Forms ListView上的最后一个项目

无法访问iOS上的Xamarin.Forms ListView上的最后一个项目
EN

Stack Overflow用户
提问于 2016-11-23 22:07:07
回答 4查看 1.4K关注 0票数 1

我有一个Xamarin.Forms应用程序-在iOS上一切正常,但我的ListView有一个问题。

当更新集合时,ListView也会更新,我可以看到新项已添加到列表视图的顶部,但不知何故,视图中的最后一项将不再显示(!)当我下到ListView的末尾并尝试向上拉起ListView时,我可以看到最后一个项目在那里,但默认情况下它不显示,并且它不可访问,我无法打开它。

我再次尝试重新绑定集合,尝试执行BeginRefresh和EndRefresh操作,但都无济于事。有人有这个问题吗?或者如何强制列表视图再次呈现?

这是这个问题的一个例子,您可以在这里看到最后一项是“测试消息”。(您可以看到框架不完整-底部的线条没有显示)。用户认为这是他拥有的最后一条消息:

同时,如果我拉出ListView,我可以开始看到ListView中的最后一条消息:

但是,如果我把手指从屏幕上移开,列表视图将返回显示第一个图像,最后两条消息就消失了。

顺便说一句,这个问题只有当我添加新消息到ObservableCollection时才会发生-另外,如果我添加了两个新消息,那么最后两个CellViews将不会显示,以此类推。这个问题只会在iOS上发生(在安卓系统上,它的工作方式和预期一样)。

谢谢,赛义夫。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2017-04-07 14:12:44

我通过将Xamarin.Forms版本更新到2.3.2.127修复了这个问题。

票数 0
EN

Stack Overflow用户

发布于 2016-11-24 00:35:38

您还可以添加具有空白框视图的页脚,如下所示:

代码语言:javascript
运行
复制
ListView lv = new ListView{
  Footer = new BoxView{
     WidthRequest = 30
  }
}

您只能将其添加到iOS项目中。

票数 1
EN

Stack Overflow用户

发布于 2016-11-23 22:57:05

我有一个显示消息的ListView,当添加新的(在最后)时,我强制向下滚动列表……也许这对你很有用..。

代码语言:javascript
运行
复制
var lastMessage = this.listViewMensajes.ItemsSource.Cast<object>().LastOrDefault();
                if (null != lastMessage)
                {
                    if(Animated)
                    {
                        await Task.Delay(500);
                        this.listViewMensajes.ScrollTo(lastMessage, ScrollToPosition.Start, true);
                    }
                    else
                    {
                        this.listViewMensajes.ScrollTo(lastMessage, ScrollToPosition.Start, false);
                    }

                }

动画旗帜只是为了显示幻灯片效果或不显示。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40766638

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档