ios - Xamarin iOS 特征收集警告错误
问题描述
在我的项目中,我使用了此链接中描述的实现
https://nshint.github.io/blog/2015/09/23/uitraitcollection-trick
但是,在构建项目时,控制台会显示很多警告,如下所示
[断言] 特征环境返回了一个特征集合,其中包含不允许未指定的特征的未指定值。这是一个严重的应用程序错误,将导致未定义的行为。此问题可能是由于您的类覆盖了不支持的 traitCollection 属性 getter。如果您尝试覆盖特征,请确保使用适当的 API。
我已经查看并尝试了不同的实现,但它们都使用情节提要,我不在我的项目中使用它(我只使用 xib)。
这是我需要担心的事情还是这是一个很好的实现?
public abstract partial class BaseControllerView<TPresenter> : UIViewController, IView
where TPresenter : BasePresenter
{
public BaseControllerView(string nibName, NSBundle bundle)
: base(nibName, bundle)
{
}
public override UITraitCollection TraitCollection => GetTraitCollection();
....
public override void ViewDidLoad()
{
base.ViewDidLoad();
}
UITraitCollection GetTraitCollection()
{
if (!IsLandscape)
{
var traisCollection = new[] { UITraitCollection.FromHorizontalSizeClass(UIUserInterfaceSizeClass.Compact), UITraitCollection.FromVerticalSizeClass(UIUserInterfaceSizeClass.Regular) };
return UITraitCollection.FromTraitsFromCollections(traisCollection);
}
else
{
var traisCollection = new[] { UITraitCollection.FromHorizontalSizeClass(UIUserInterfaceSizeClass.Compact), UITraitCollection.FromVerticalSizeClass(UIUserInterfaceSizeClass.Compact) };
return UITraitCollection.FromTraitsFromCollections(traisCollection);
}
}
解决方案
推荐阅读
- javascript - 将css宽度作为数字而不是百分比
- css - Overflow-y with flex-end - 为什么没有滚动条?
- angular - 平板电脑数字输入键的代码是什么?
- google-sheets - Google 表格会根据特定重复项突出显示单元格
- model-view-controller - 在一个 POST 中创建父对象和子对象 - MVC Core
- javascript - 在相邻组件之间共享内容,HOC?
- html - 修复 IE 中的滚动条问题
- sonata-admin - Symfony 4 & Sonata Admin 3 警告:spl_object_hash() 期望参数 1 是对象,给定字符串
- javascript - JQuery 循环仅评估第一项
- java - 文件存在时的 FileNotFound 异常