有一个类是完全成熟的UIViewController,当该页面加载时,它的工作非常好。
我想更改其工作方式,而不是从当前的viewcontroller上推送新的ViewController,而是只在通常启动新UIViewController的当前屏幕上的UIView中显示此UIViewController。
这很难解释。
UIVC_A将UIVC_B推送到NavController上。
而不是将UIVC_B推送到NavController上。
我宁愿在UIVC_A中创建一个UIView并让UIVC_B作为UIVC_A的子视图出现在其中。
我需要做什么/更改才能使这种事情起作用。
我试过了
CVC *cv = [[CVC alloc] init];
UIView * aView = [[UIView alloc] initWithFrame:CGRectMake(100, 100, 600, 600)];
aView.backgroundColor = [UIColor blueColor];
[aView addSubview:cv.view];
[self.view addSubview:aView];
但这没有用。
CVC是一个UIViewController。
谢谢,
-码
最佳答案
它没有用,因为CVC的xib文件尚未归档。它的视图层次结构在加载后即可使用(回调为-viewDidLoad)。
您需要做的是以编程方式加载nib并使用其内容:
NSArray *topLevelObjects = [[NSBundle mainBundle] loadNibNamed:@"CVC" owner:nil options:nil]; // will return the whole view tree with the CVC's view as it's 0 object
UIView *cvcView = [topLevelObjects objectAtIndex:0];
并按照您的观点进行操作。