带有 xib 的 UIView 忽略大小 类

UIView with xib ignores size classes

我正在处理自定义通知视图,它必须显示在所有内容之上。为了实现这个 我已将它实现为单独的 UIWindow 的子视图,除布局外一切正常:我使用大小 类,而布局只是忽略它。 这是代码 我用来设置我的视图:

NotificationView *notificationView = [[[NSBundle mainBundle] loadNibNamed:@"NotificationView"
                                                                    owner:self
                                                                  options:nil] firstObject];
UIWindow *window = [[UIWindow alloc] initWithFrame:frame];
// Additional window setup..

[window addSubview:notificationView];

您需要在代码中添加约束,以便在将一个视图添加到另一个视图后关联两个视图。

阅读此处了解更多信息:

https://adoptioncurve.net/archives/2014/08/working-with-size-classes-in-interface-builder/

UPD:我想通了

我直接将我的 notificationView 添加到 UIWindow,在这种情况下,大小 类 被忽略了。然后我尝试实例化相应的 UIViewController 子类(虽然我真的不需要它)并将其添加到它的 self.view 在这种情况下大小 类 按预期工作。

结论:View必须在UIViewController视图层级中才能支持尺寸类.