几次loadNibNamed调用后,自动布局消失

时间:2014-09-10 09:58:38

标签: ios objective-c uiview autolayout loadnibnamed

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

信息:

  • 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;
}

问题:为什么自动布局仅在第一个加载的视图上显示?是否可以重置或更新自动布局。

0 个答案:

没有答案