使用代码更改 uiview 背景颜色

Posted

技术标签:

【中文标题】使用代码更改 uiview 背景颜色【英文标题】:change the uiview background color with code 【发布时间】:2011-07-28 08:34:46 【问题描述】:

我想以编程方式更改我的应用程序的背景颜色,而不是 IB。是否有可能同时获得 Swift 和 Obj-C 的答案。

【问题讨论】:

【参考方案1】:

您可以设置屏幕上任何视图的backgroundColor 属性。

在 Objective-C 中:

self.view.backgroundColor = [UIColor redColor];

在斯威夫特中:

self.view.backgroundColor = .red

或者如果它是您所追求的主窗口,

在 Objective-C 中:

self.window.backgroundColor = [UIColor redColor];

在斯威夫特中:

self.window.backgroundColor = .red

【讨论】:

【参考方案2】:
self.view.backgroundColor = [UIColor redColor];

可能的颜色是:

blackColor  
 darkGrayColor  
 lightGrayColor  
 whiteColor  


 grayColor  
 redColor  
 greenColor  
 blueColor  
 cyanColor  
 yellowColor  
 magentaColor  
 orangeColor  
 purpleColor  
 brownColor  
 clearColor

【讨论】:

供参考,目前可以在developer.apple.com/documentation/uikit/uicolor/…找到颜色列表【参考方案3】:

如果你想在 Swift 中用代码改变视图的背景颜色,你应该这样做:

self.view.backgroundColor = UIColor.redColor();

【讨论】:

self 不是必需的,除非在 clousre 中【参考方案4】:

对于 Swift 3,你应该这样做:

self.view.backgroundColor = UIColor.white

不幸的是,其他答案在 Swift 3 中不再有效。

【讨论】:

【参考方案5】:

您可以通过以下代码使用 RGB 颜色:

UIColor *myColor = [UIColor colorWithRed:(128.0 / 255.0) green:(90.0 / 255.0) 
blue:(200.0 / 255.0) alpha: 1];
self.view.backgroundcolor = mycolor;

【讨论】:

欢迎来到堆栈溢出 :-) 请看How to Answer。您应该提供一些信息为什么您的代码可以解决问题。纯代码答案对社区没有用处。 不同意@JimHawkins - SO 的问题不是像上面那样不完美的贡献(尽管有 一些 优点),它是令人沮丧的批评 cmets,通常是新手。跨度> @ColinStark - 仅代码答案至少有一个很好的理由:用户的英语太糟糕了,但代码确实很有帮助。但是纯代码答案不应该是 SO 的默认值。另见meta.***.com/q/345719/1988304。我不明白为什么我的评论应该“令人沮丧” 首先你说“只有代码的答案没有用”,然后说“代码很有帮助......不应该是默认的”。它是哪一个?至于令人沮丧:好吧,如果一个新手正在尽力而为,做出非空的贡献,并立即得到否定的“这没有用”又名“毫无价值”,他们可能会气馁。这偶尔是我的经验。这也是 SO 获得的声誉。【参考方案6】:

对于基于 swift 的项目,您只需键入以下内容并按 Enter:

self.view.backgroundColor = Color Literal

这里的 ColorLiteral 属性将为您提供默认的白色,您可以通过双击该颜色来更改它。

您可以从此弹出窗口中选择颜色列表:

【讨论】:

以上是关于使用代码更改 uiview 背景颜色的主要内容,如果未能解决你的问题,请参考以下文章

在 SwiftUI 中更改 UIView 背景颜色

iPhone:UIImage 背景颜色与 UIView 背景颜色不同

使用点击手势更改 UIView 的背景颜色(iOS)

使用 CAGradientLayer 类更改 UiView IOS 的渐变背景图层颜色

UIView 背景颜色颜色循环

无法从 Controller 设置 UIView 背景颜色