首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在backgroundColor中设置loadView?

如何在backgroundColor中设置loadView?
EN

Stack Overflow用户
提问于 2014-05-01 08:45:10
回答 2查看 238关注 0票数 0

我希望重写自定义视图控制器的loadView方法,以便自定义正在显示的视图。对于该自定义视图,我希望应用在Storyboard编辑器中设置的背景色。

例如,如果我像这样实现loadView:

代码语言:javascript
复制
-(void)loadView{
    self.view = [[MyCustomView alloc] init];
    //Do some initialisation work for the custom view
    //...
}

生成的视图有一个黑色的背景。但是,如果我只调用默认实现:

代码语言:javascript
复制
-(void)loadView{
    [super loadView];
}

然后将橙色背景颜色(见屏幕截图)应用于视图。如何获得故事板编辑器中设置的颜色?我想做这样的事情(伪代码):

代码语言:javascript
复制
-(void)loadView{
    self.view = [[MyCustomView alloc] init];
    self.view.backgroundColor = [self colorThatWasSelectedInStoryboardEditor];
    //Do some initialisation work for the custom view
    //...
}

苹果是如何在loadView的默认实现中实现这一目标的?

EN

回答 2

Stack Overflow用户

发布于 2014-05-01 08:48:38

由于您显然很想在这里使用"loadView“而不是"viewDidLoad”、 ",所以您需要在其他地方“隐藏”您的自定义颜色。例如其他视图(例如隐藏的视图?)在您的ViewController中,它连接到一个IBOutlet,在那里您可以通过视图的".backgroundColor“属性提取它。

或者,您需要通过好的ol‘UIColor方法(如" )来设置“"”属性。

票数 0
EN

Stack Overflow用户

发布于 2014-05-01 15:08:29

您从故事板中获得的所有视图都是在viewWillAppear:之前列出的,这意味着,在viewDidLoad中,您还没有它们。尝试将您的代码移动到viewWillAppear:,或者更好地将代码移动到viewWill/DidLayoutSubviews,而不是self.view.backgroundColor,这将为您提供您在IB中设置的代码。

要回答注释中的问题,请转到IB,选择您的视图,转到实用程序(右)窗格下的Identity检查选项卡,并将自定义类设置为MyCustomView。这样做不需要实现loadView

例如,我已声明为自定义视图类UIViewAGBlurView

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23404585

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档