Ios 单击按钮时显示UIView

Ios 单击按钮时显示UIView,ios,objective-c,uiview,Ios,Objective C,Uiview,我有超类UIView。我有一个按钮来显示另一个视图。如何在单击按钮事件时显示其他视图。我搜索了文档,但没有找到解决方案 - (void)note:(id)sender{ NSLog(@"Note"); vc=[[UIView alloc]initWithFrame:CGRectMake(0, 0,320, 568)]; [self.view addSubview:vc]; } 添加此代码,因为它只是更改新创建视图的背景色,并检查它 - (void)note:(i

我有超类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];

}
请注意:这超出了子视图控制器的范围,不包括处理子视图控制器的完整正确代码。还可以选择显示视图控制器。请参见以下内容:


要显示视图或创建新视图。你的要求是什么,我想创建一个新的视图。在这段代码中,会出现什么问题?self.view带来subviewtofront:self.vc];尝试此操作也可能没有调用note方法。根据所描述的问题,问题是自我回答的。或者可能self.view的绑定的原点是从CGPoint{0,0}偏移的,或者它的self.view是一个滚动超过0,0320568的滚动视图。那么您的原始代码有什么问题吗?vc.backgroundColor=[UIColor redColor];这是问题否这不是问题您的视图是创建的。@user2807197这个问题似乎是自我回答的,您可能会赢得更多的反对票,除非您能更清楚地说明您有什么问题。@TomPace他只是没有看到他的新UIView,因为它是透明的。这是他唯一的问题。