在Objective-C中,我们使用此代码为视图设置RGB颜色代码:
#define UIColorFromRGB(rgbValue)
[UIColor colorWithRed:((float)((rgbValue & 0xFF0000) >> 16))/255.0 green:((float)((rgbValue & 0xFF00) >> 8))/255.0 blue:((float)(rgbValue & 0xFF))/255.0 alpha:1.0]
view.backgroundColor=UIColorFromRGB(0x209624);
Run Code Online (Sandbox Code Playgroud)
我如何在Swift中使用它?
我原本想知道如何制作这样的东西
UIColor.myCustomGreen
Run Code Online (Sandbox Code Playgroud)
这样我就可以定义自己的颜色并在整个应用程序中使用它们.
之前我曾经研究过扩展,我认为我可以用它们来解决我的问题,但我不记得究竟如何设置扩展.在撰写本文时,在Google上搜索"Swift扩展"会导致文档,几个长篇教程以及一个相当无用的Stack Overflow 问题.
所以答案就在那里,但需要深入研究文档和教程.我决定写这个问题和以下答案,为Stack Overflow添加一些更好的搜索关键字,并快速回顾一下如何设置扩展.
具体来说我想知道:
在新项目中工作: iOS>应用程序>游戏> SpriteKit,Swift,iPhone
在这里,我在我的函数中编写了一个GameScene.swift接受十六进制颜色值和alpha双精度的函数.我将使用Swift文档,并引用我在网上看到的优雅解决方案.我注意到这个确切的代码在模拟器中编译,运行并显示iPhone5的构建目标的正确颜色.
当我的构建目标设置为iPhone5s时,完全相同的项目甚至不会编译.

找不到接受提供的参数的'init'的重载.
功能:
// colorize function takes HEX and Alpha converts then returns aUIColor object
func colorize (hex: Int, alpha: Double = 1.0) -> UIColor {
let red = Double((hex & 0xFF0000) >> 16) / 255.0
let green = Double((hex & 0xFF00) >> 8) / 255.0
let blue = Double((hex & 0xFF)) / 255.0
var color: UIColor = UIColor( red: Float(red), green: Float(green), blue: Float(blue), alpha:Float(alpha) )
return …Run Code Online (Sandbox Code Playgroud) 我正在制作一个游戏并需要一个底部的尖峰,我决定通过UIView和碰撞来做.我正在迅速编码.
我目前有一个广场:
//Object Setup
let square = UIView(frame: CGRect(x:100, y:100, width: 100, height: 100))
square.backgroundColor = UIColor.purpleColor()
view.addSubview(square)
Run Code Online (Sandbox Code Playgroud)
我想要一个三角形,我确实有一个可用于三角形的图像,但图像是方形的,所以当碰到图像边界而不是实际的三角形边界时,碰撞就是肯定的,请告知如何处理图像或我是如何得到的
谢谢
亚历克斯
我有大约10个Swift 3应用程序.
它们几乎相似,但每个应用程序中都有一些字段会发生变化,我希望这些值可以在完整程序中使用(例如:每个公司的名称,应用程序的主要颜色等).这些值在整个程序中将保持不变.
我想通过应用程序创建一个常量文件,因此每个应用程序上使用的值将与其他应用程序不同,因此我不必一直重复每个程序的每个值.例如,如果我设定一个恒定的命名company和更改其价值company1,company2等...根据文件我可以使用company常量中的所有应用程序.因此,每次创建新应用程序时,我都不必在整个应用程序中手动替换变量.只需将相应的值替换为每个应用程序.
那么,是否可以创建常量文件?也许添加一个特殊的类.我想也许它有另一个特定的名字,但我找不到它.
提前致谢!
我有这个UIColor:
UIColor(red: 0.2, green: 0.4118, blue: 0.1176, alpha: 1.0)
Run Code Online (Sandbox Code Playgroud)
我需要转换为Uint.我怎样才能做到这一点?
编辑:
func showEmailMessage(advice : String)
{
_ = SCLAlertView().showSuccess("Congratulation", subTitle: advice, closeButtonTitle: "Ok", duration : 10, colorStyle: 0x33691e, colorTextButton: 0xFFFFFF)
}
Run Code Online (Sandbox Code Playgroud)
颜色样式字段需要Uint
我正在尝试将TopScoreContainer的背景颜色更改为更浅的绿色.我不想使用greenColor().这是代码行:
self.TopScoreContainer.backgroundColor = UIColor.greenColor()
Run Code Online (Sandbox Code Playgroud)
是否可以用十六进制数字或RGB值代替greenColor()?谢谢.
如何在Swift 3中更改所有TextField边框颜色我构建一个iPad应用程序.我在我的.xib文件中有很多TextField,现在我想更改边框颜色,但是要编写特定的文本字段这么多行,所以对此有什么排序方式?
我想快速创建具有三种颜色的渐变视图。
linear-gradient(to right, #232c63 10%,#1d6cc1 59%,#33bdd6 100%);
Run Code Online (Sandbox Code Playgroud)
如何用定义颜色%。
第一种颜色,含10%
第二色,占59%
第三色100%
例:
我想将RGB值转换为十六进制字符串.我将Hex转换为RGB如下,但我如何反过来.
func hexStringToRGB(_ hexString: String) -> (red: CGFloat, green: CGFloat, blue: CGFloat) {
var cString:String = hexString.trimmingCharacters(in: .whitespacesAndNewlines).uppercased()
if (cString.hasPrefix("#")) {
cString.remove(at: cString.startIndex)
}
if ((cString.count) != 6) {
return (red: 0.0, green: 0.0, blue: 0.0)
}
var rgbValue:UInt32 = 0
Scanner(string: cString).scanHexInt32(&rgbValue)
return (
red: CGFloat((rgbValue & 0xFF0000) >> 16),
green: CGFloat((rgbValue & 0x00FF00) >> 8),
blue: CGFloat(rgbValue & 0x0000FF))
}
Run Code Online (Sandbox Code Playgroud) swift ×10
ios ×9
uicolor ×4
border-color ×1
cgrect ×1
cocoa-touch ×1
colors ×1
rgb ×1
swift3 ×1
uint ×1
uitextfield ×1
uiview ×1
xcode ×1