Xamarin iOS特征集合警告错误

Xamarin iOS特征集合警告错误,ios,objective-c,swift,xamarin,xamarin.ios,Ios,Objective C,Swift,Xamarin,Xamarin.ios,在我的项目中,我使用了此链接中描述的实现 但是,在构建项目时,控制台会显示许多警告,如下面所示 [Assert]特征环境返回了一个特征集合,其中包含不允许未指定的特征的未指定值。这是一个严重的应用程序错误,将导致未定义的行为。此问题可能是由于您的类重写了不支持的traitCollection属性getter造成的。如果您试图覆盖traits,请确保使用适当的API 我看过并尝试过不同的实现,但它们都使用故事板,我在我的项目中没有使用(我只使用xib) 这是我需要担心的还是这是一个很好的实现 p

在我的项目中,我使用了此链接中描述的实现

但是,在构建项目时,控制台会显示许多警告,如下面所示

[Assert]特征环境返回了一个特征集合,其中包含不允许未指定的特征的未指定值。这是一个严重的应用程序错误,将导致未定义的行为。此问题可能是由于您的类重写了不支持的traitCollection属性getter造成的。如果您试图覆盖traits,请确保使用适当的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);
        }
    }
公共抽象部分类BaseControllerView:UIViewController,IView 其中TPresenter:BasePresenter { 公共BaseControllerView(字符串nibName,NSBundle) :base(nibName,bundle) { } 公共覆盖UITraitCollection TraitCollection=>GetTraitCollection(); .... 公共覆盖无效ViewDidLoad() { base.ViewDidLoad(); } UITraitCollection GetTraitCollection() { 如果(!IsLandscape) { var traisCollection=new[]{UITraitCollection.FromHorizontalSizeClass(UIUserInterfaceSizeClass.Compact),UITraitCollection.FromVerticalSizeClass(UIUserInterfaceSizeClass.Regular)}; 返回UITraitCollection.FromTraitsFromCollections(traisCollection); } 其他的 { var traisCollection=new[]{UITraitCollection.FromHorizontalSizeClass(UIUserInterfaceSizeClass.Compact),UITraitCollection.FromVerticalSizeClass(UIUserInterfaceSizeClass.Compact)}; 返回UITraitCollection.FromTraitsFromCollections(traisCollection); } }
您可以发布有关traitCollection的相关代码,这将有助于找出原因。@LucasZhang MSFT我添加了有问题的代码。谢谢检查