1

我有一个 UIViewController 可以在其中加载其他几个 UIView

信息:

  • UIViewController 没有 .xib,只是用来控制和加载 UIViews。
  • UIViews:由 .xib 加载(我正在为我需要的每个 UIView 重用相同的 .xib)<<问题??
  • UIViews:自动布局在 .xib 中

首先我加载一个视图,然后用一个操作按钮再次调用加载另一个视图的方法,这里自动布局消失了......但第一个是正确的(打开)。

我用来加载的方法

+ (UIView *) loadUIViewFromNibNamed:(NSString *)nibName withRestorationIdentifier:(NSString *)restorationIdentifier{
UIView *view = nil;
NSArray *items = [[NSBundle mainBundle] loadNibNamed:nibName owner:self options:nil];
for(id item in items) {
    if ([item isKindOfClass:[UIView class]] == TRUE) {
        UIView * viewTemp = item;
        if ([viewTemp.restorationIdentifier isEqualToString:restorationIdentifier]) {
            view = item;
            break;
        }
    }
}
NSAssert1(view, @"Expected nib named %@ to contain a UIView", nibName);
return view;
}

问题:为什么自动布局只在第一个加载的视图上正常?有什么我可以重置或更新自动布局的吗?

4

0 回答 0