0

我正在尝试ViewController使用此方法在我的中添加子视图

- (void)viewDidLoad
{
    [super viewDidLoad];
    addCourse = [[UIView alloc]init];
    addCourse.backgroundColor = [UIColor redColor];
    [addCourse.layer setCornerRadius:50.0f];
    [addCourse.layer setMasksToBounds:YES];
}

addCourse我的在哪里,subview但背景颜色仍然是白色。我正在使用storyboard并添加subview它并将视图链接到viewcontroller我确实编写了 IBOutlet 和属性并合成但我仍然找不到更改背景颜色的方法。

我怎样才能改变它?

4

4 回答 4

0

addCourse如我所见,您尚未添加到视图控制器中。将您的viewDidLoad方法替换为:

- (void)viewDidLoad
{
    [super viewDidLoad];
    addCourse = [[UIView alloc]init];
    addCourse.backgroundColor = [UIColor redColor];
    [addCourse.layer setCornerRadius:50.0f];
    [addCourse.layer setMasksToBounds:YES];
    //ADDED THIS LINE
    self.view = addCourse;
}
于 2013-03-07T04:38:46.920 回答
0
addCourse = [[UIView alloc]initWithFrame:CGRectMake(x, y, w, h)];
addCourse.backgroundColor = [UIColor redColor];
[addCourse.layer setCornerRadius:50.0f];
[addCourse.layer setMasksToBounds:YES];

[self.view addSubview:addCourse];
于 2013-03-07T05:07:21.527 回答
0

如果您已经与 ViewController 链接,那么您只需从代码中删除以下行

addCourse = [[UIView alloc]init];

因为,它创建了您的 subView 的新实例。

于 2013-03-07T05:30:49.363 回答
0

看到我已经更新了你的代码(只是你需要设置视图的框架),我得到了结果

请!以这种方式更新您的代码

- (void)viewDidLoad
{
    [super viewDidLoad];
    
    //custom view
    UIView *addCourse = [[UIView alloc]init];
    CGRect myViewframe = CGRectMake(10.0f, 90.0f, 100.0f, 100.0f);
    addCourse.frame=myViewframe;
    addCourse.backgroundColor = [UIColor redColor];
    [addCourse.layer setCornerRadius:50.0f];
    [addCourse.layer setMasksToBounds:YES];
    
    [self.view addSubview:addCourse];
}

这是结果屏幕

在此处输入图像描述

于 2013-03-07T05:39:31.753 回答