【问题标题】:CollectionView width is not correct in Xamarin forms iOS Portrait/Landscape modeXamarin 表单 iOS 纵向/横向模式中的 CollectionView 宽度不正确
【发布时间】:2021-09-18 15:03:19
【问题描述】:

我有一个 Xamarin 应用程序,并且正在使用集合视图来显示项目。 项目的宽度第一次正确然后切换回横向模式,然后切换回纵向模式,项目列表的宽度采用之前的横向模式宽度。 我也收到异常

未定义 UICollectionViewFlowLayout 的行为,因为: item 宽度必须小于 UICollectionView 的宽度减去 section insets 左右值,减去 content insets 左右值。 请检查委托返回的值。 相关的 UICollectionViewFlowLayout 实例为 ,并附加到 ;层 = ;内容偏移:{0,-51};内容大小:{635.5, 0};调整内容插入:{51, 0, 0, 0};布局:;数据源:>。 在 UICollectionViewFlowLayoutBreakForInvalidSizes 处创建一个符号断点以在调试器中捕获它。

Landscape mode

Portrait mode

我已经用 ItemTemplate 和 Header 布局创建了 CustomCollectionView,但是由于标题布局,标题是正确的,但是当项目选择项目模板时,宽度不正确(它采用横向模式的纵向宽度模式)。 切换横向/纵向模式时,我收到上述错误,请同时查找图像参考)

谁能帮我将 CollectionView 的宽度设置为合适的宽度?

【问题讨论】:

    标签: ios xamarin.forms xamarin.ios uicollectionview collectionview


    【解决方案1】:

    我没有使用过 Xamarin,但我在 Xcode 中也遇到过同样的问题。问题是我们设置flowLayout.estimatedItemSize = .automatic时引起的,而是尝试给它一个大小,例如flowLayout.estimatedItemSize = CGSize(width: 1, height: 1)

    注意:类似答案请查看this thread

    【讨论】:

    • 我正在使用 VisualStudio for Mac 和 Xamarin 表单项目
    【解决方案2】:

    你的 Xamarin.Fomrs 版本是什么?

    如果不是最新版本,请尝试更新到5.0.0.2012,已修复。

    你可以看看https://github.com/xamarin/Xamarin.Forms/issues/13538

    【讨论】:

      【解决方案3】:

      我认为问题出在 Xamarin.Fomrs 版本上,因为我也遇到了类似的问题。

      请将版本更新到5.0.0.2012

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-11-15
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多