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