我有超类 UIView。我有按钮来显示另一个视图。单击按钮事件时如何显示另一个视图。我搜索了文档,但没有得到解决方案。
- (void)note:(id)sender{
NSLog(@"Note");
vc=[[UIView alloc]initWithFrame:CGRectMake(0, 0,320, 568)];
[self.view addSubview:vc];
}
我有超类 UIView。我有按钮来显示另一个视图。单击按钮事件时如何显示另一个视图。我搜索了文档,但没有得到解决方案。
- (void)note:(id)sender{
NSLog(@"Note");
vc=[[UIView alloc]initWithFrame:CGRectMake(0, 0,320, 568)];
[self.view addSubview:vc];
}
添加此代码,因为它只是更改新创建视图的背景颜色并检查它。
- (void)note:(id)sender{
NSLog(@"Note");
vc=[[UIView alloc]initWithFrame:CGRectMake(0, 0,320, 568)];
vc.backgroundColor=[UIColor redColor];
[self.view addSubview:vc];
}
试试这个代码..
我会尽力帮忙的。第一件事:您的示例代码已经展示了您问题的完美答案,它创建并显示了您所要求的视图。
但是,您的示例代码使用的是“vc”,我假设它是 UIViewController 中“视图控制器”的缩写。而且您示例中的代码没有首先声明它,所以我猜它是您类中的实例变量(ivar)。
因此,如果这是正确的(我可能完全错了),那么解决方案更像是:
- (void)note:(id)sender{
// Load a view con
NSString *nibfilenamewithoutextension = @"MyAwesomeViewControllerLayoutNib";
vc = [[UIViewController alloc] initWithNibName:nibfilenamewithoutextension bundle:nil];
[self.view addSubview:vc.view];
}
请注意:这超出了子视图控制器的范围,不包括用于处理子视图控制器的完整正确代码。还可以选择呈现视图控制器。请参阅以下内容: