草庐IT

ios - UIColor(命名为 :) always returns nil on iOS 11. 0-11.2

我有一个从我的自定义调色板返回UIColor的类。我以编程方式调用它,但是当我在iOS11上测试它时,它总是返回一个nil结果......我在多个设备和操作系统版本11.0、11.0.1、11.2上尝试过这个,它们都返回无。但是只要我在>iOS12上运行它们,它总是会返回正确的颜色。varcolor:UIColor?{switchself{case.darkIndigo:returnUIColor(named:"darkIndigo")case.lightNavy:returnUIColor(named:"lightNavy")case.cobalt:returnUIColor(nam

swift - NS_SWIFT_NAME 用于将 C 函数导入为类扩展

我有两个C函数:externUIColor*LNRandomDarkColor();externUIColor*LNRandomLightColor();作为练习,我尝试将它们作为UIColor的扩展方法导入到Swift中。以下是Apple在WWDC2016上的“Swift新功能”演示文稿示例:voidCGContextFillPath(CGContextRef)NS_SWIFT_NAME(CGContext.fillPath(self:));我试图以类似的方式注释我的函数:externUIColor*LNRandomDarkColor()NS_SWIFT_NAME(UIColor.r

ios - 如何创建动态重复的颜色数组?

我有一个包含六种颜色的数组和另一个包含8个项目的数组。有没有办法以相同的顺序从colorsArray的第一个颜色开始重复colorsArray作为项目的数量?varcolorsArray=[UIColor.redColor(),UIColor.purpleColor(),UIColor.blueColor(),UIColor.greenColor(),UIColor.yellowColor(),UIColor.orangeColor()];新数组看起来像这样:newColorsArrayByItemsNumber=[UIColor.redColor(),UIColor.purpleCo

ios - UIColor ios 的两个初始化函数

我在为标签应用颜色时发现我们有两个函数在做同样的事情。谁能解释一下这两个功能需要什么,为什么我们不能只有一个功能?通常使用:publicinit(red:CGFloat,green:CGFloat,blue:CGFloat,alpha:CGFloat)上UIColor课的时候看到的:requiredpublicconvenienceinit(colorLiteralRedred:Float,green:Float,blue:Float,alpha:Float)这两个功能有优缺点吗?另外,最好的调用方式是什么:footerView.backgroundColor=UIColor(红色:1

ios - 在 Swift 中初始化通用 RGB

我正在尝试将包含通用RGB颜色空间中颜色的字符串转换为Swift中的UIColor。例如,典型的字符串如下所示:0.1215690.1294120.1568631使用macOS中的颜色选择器,我发现这些值使用的是通用RGB颜色空间。但是,当我尝试将这些值转换为UIColor时,它使用sRGB颜色空间。letred=CGFloat((components[0]asNSString).doubleValue)letgreen=CGFloat((components[1]asNSString).doubleValue)letblue=CGFloat((components[2]asNSStr

ios - 如何使用 alpha channel - PNG(替换颜色)仅对 UIImage 的一部分着色?

我有这个透明图像:我的目标是改变“我!”零件颜色。只对图像的最后3部分着色,或者用新颜色替换蓝色。颜色变化后的预期结果:不幸的是,这两个都不适合我。要更改特定颜色,我试过这个:LINK,但正如文档所述,这仅在没有alphachannel的情况下有效!然后我试了这个:LINK,但这实际上什么也没做,没有色调或任何东西。是否有任何其他方法可以只对颜色的一部分着色或只替换特定颜色?我知道我可以将图像分成两部分,但我希望有另一种方法。 最佳答案 事实证明它出奇地复杂——你认为你可以用CoreGraphics混合模式一次性完成,但从相当广泛的

swift - 如何创建多个缓存的 UIColor

我的代码中有自定义颜色。我多次使用它们,但我希望它们只分配一次。情况/问题如果我们看一下UIColorheader,我们可以看到以下内容:[...]//Someconveniencemethodstocreatecolors.Thesecolorswillbeascalibratedaspossible.//Thesecolorsarecached.openclassvarblack:UIColor{get}//0.0whiteopenclassvardarkGray:UIColor{get}//0.333white[...]我创建了UIColor的扩展,如下所示:importUIKi

ios - 是否可以快速获取颜色名称

我正在尝试快速从UIButton获取颜色名称而不是值,有什么办法可以做到这一点。谢谢我正在使用tintColor来设置值以及获取值clickButton.tintColor=UIColor.bluevarcolor=clickButton.tintColor当我打印颜色值时,我得到(UIExtendedSRGBColorSpace0011)无论如何我可以得到蓝色而不是值 最佳答案 将此扩展添加到您的项目extensionUIColor{varname:String?{switchself{caseUIColor.black:retu

xcode - 界面构建器中的颜色变量

我有一个项目需要更改应用程序中的整体颜色主题。我的许多UI元素都是通过Xcode6.1中的InterfaceBuilder构建的。我需要在界面构建器中将颜色设置为变量,因此如果我设置一个预处理器告诉应用程序使用特定方案,那么界面构建器中的颜色将会改变。这可能吗? 最佳答案 我不知道有什么方法可以用界面生成器来做到这一点,但是有一种方法可以在代码中为许多IOSUI元素设置外观属性,然后将在全局应用。例如,请参见以下代码片段:UIToolbar.appearance().tintColor=UIColor.whiteColor()UIT

ios - 图案图像如何实现视差效果?

我一直在尝试为ImageView实现视差效果。视差效果的代码很简单,仅当我将UIImage添加到UIImageView时它才有效。我有一个图案图像,需要在两侧平铺。所以我不得不使用UIColor的patternWithImage方法。当我进行视差工作时,但是当我倾斜设备时,我可以在边缘看到self.view的背景颜色。代码如下:-(void)viewDidLoad{[superviewDidLoad];//Doanyadditionalsetupafterloadingtheview.self.backgroundImageView.contentMode=UIViewContentM