Xamarin iOS:从情节提要中的 UICollectionViewCell 获取信息
Posted
技术标签:
【中文标题】Xamarin iOS:从情节提要中的 UICollectionViewCell 获取信息【英文标题】:Xamarin iOS: Get information from a UICollectionViewCell in the storyboard 【发布时间】:2015-04-21 21:29:31 【问题描述】:我正在尝试从我的故事板中的原型 UICollectionViewCell 获取高度和其他一些属性。我需要 ViewDidLoad 中的这些值,所以在渲染任何单元格之前。
我为 tableview 找到了这个答案:https://***.com/a/14127936/2637259 但它似乎不适用于集合视图,因为我需要一个索引路径。
我还找到了这个似乎可以解决问题的答案:https://***.com/a/22761931/2637259 但我不知道如何在 xamarin 中做到这一点。
谁能赐教?
编辑:我需要在 ViewDidLoad(或至少在加载单元格之前的任何地方)拥有它的原因是我在单元格中拥有一个 UIWebView。我有一个要加载到单元格中的 html 字符串。所以我做了一个函数来计算webview的高度。在计算完所有单元格后,我调用 CollectionView.ReloadData() 来加载单元格。在 sizeForItemAtIndexPath 中,我需要检查单元格的高度是否小于没有 webview 的单元格的高度加上 webview 的计算高度。如果没有,我需要返回标准单元格大小。否则我需要返回没有 webview 加上计算高度的单元格高度。
【问题讨论】:
你能解释一下为什么你需要 viewDidLoad 的高度吗?可能还有其他方法可以完成您想要完成的工作。 我编辑了问题以添加它。 【参考方案1】:您可以像这样为自定义单元类创建静态属性:
public partial class CustomCell: UICollectionViewCell
public static new float CellHeight get return 44f;
... rest of your class
然后你可以通过调用得到高度
CustomCell.CellHeight;
希望对您有所帮助!干杯!
【讨论】:
这就是我目前正在做的事情。但是当其他人在情节提要中进行更改时,更改会“破坏”我的代码。因此,我正在寻找一种方法让其他人更改单元格(项目中有许多不同的单元格),而无需检查每个单元格类。以上是关于Xamarin iOS:从情节提要中的 UICollectionViewCell 获取信息的主要内容,如果未能解决你的问题,请参考以下文章
iOS 应用程序加载器:错误 ITMS-90705:“未找到启动情节提要...”
更改 RootView 控制器 Xamarin IOS 应用程序