【发布时间】:2016-09-01 06:09:02
【问题描述】:
我在 iOS Swift 应用程序中遇到一种情况,用户可以通过添加其他视图和/或更改视图的背景颜色来“自定义屏幕”。当他们点击保存时,我想将每个对象的属性以及父视图的背景颜色存储到 MySQL 数据库中,以便以后检索和重建视图。所有数据更新均通过 PHP REST 服务完成。
我目前正在努力处理背景颜色的颜色数据。如果我 print() 颜色,我会得到类似“UIDeviceRGBColorSpace 0.866667 0.92549 1 1”的信息。我还可以使用以下方法将其转换为 NSData:
let data = NSKeyedArchiver.archivedDataWithRootObject(self.view.backgroundColor!)
但是,无论哪种情况,我都不知道如何通过 PHP REST 服务将数据保存到数据库,甚至不知道我会使用什么数据类型。
我是不是完全走错了路?我应该做一些事情,比如抓取 RGB 值和 Alpha 并将它们保存到数据库中的 4 个属性中,还是获取十六进制值并将其存储?也许,还有一种更直接的方法?
【问题讨论】:
-
RGB 会更好,然后您可以在 Android 或 Web 或任何其他平台上重复使用相同的数据。
-
您可以使用标准的 HTML 样式表示将它们存储为十六进制。
-
谢谢,食人魔。获得 RGB 值的最佳方法是什么?转换为 CIColor?看起来您可以从中获取 RGB 单个值。
-
谢谢,@Wezly。那是在 Objective-C 中,而不是在 Swift 中。但是,我刚刚在Extract RGB Values From UIColor 中找到了 Swift 解决方案。
标签: php ios mysql swift colors