如何使用 c# 在 Xamarin.Ios 中将 UIColor 转换为字符串和字符串转换为 UIColor
Posted
技术标签:
【中文标题】如何使用 c# 在 Xamarin.Ios 中将 UIColor 转换为字符串和字符串转换为 UIColor【英文标题】:How to convert from UIColor to string and string to UIColor in Xamarin.Ios using c# 【发布时间】:2016-12-15 10:35:02 【问题描述】:UILabel label = new UILabel();
label.TextColor = UIColor.Black;
如何以字符串格式存储 UILabel 颜色?我想从数据库中获取该颜色并应用于 UILabel。如何使用 c# 将 UIColor 转换为字符串和字符串转换为 UIColor?
提前致谢!
【问题讨论】:
【参考方案1】:首先将颜色存储在 DB 中作为 UIColor 像这样
string color = yourBtn.BackgroundColor.ToString();
然后将您的颜色转换为 UIColor as
string hex = color.;
nfloat red = Convert.ToInt32(string.Format("00",hex.Substring(0, 1)), 16) / 255f;
nfloat green = Convert.ToInt32(string.Format("00",hex.Substring(1, 1)), 16) / 255f;
nfloat blue = Convert.ToInt32(string.Format("00",hex.Substring(2, 1)), 16) / 255f;
UIColor color = UIColor.FromRGB(red, green, blue);
您需要将字符串分成 3 个子字符串以获得红、绿、蓝颜色代码。
【讨论】:
【参考方案2】:可以使用8char的十六进制颜色格式(如#ff0a11ff)
当您加载/保存字符串时,只需将其解析为字节数组或整数数组,因为 UILabel.FromRGBA 允许您从中创建颜色:https://developer.xamarin.com/api/member/MonoTouch.UIKit.UIColor.FromRGBA/p/System.Int32/System.Int32/System.Int32/System.Int32/
(很抱歉给出一个anwser而不是评论,我没有足够的声誉)
【讨论】:
正确,关于***.com/questions/10310917/…的一篇很好的***帖子@以上是关于如何使用 c# 在 Xamarin.Ios 中将 UIColor 转换为字符串和字符串转换为 UIColor的主要内容,如果未能解决你的问题,请参考以下文章
无法在 Xamarin iOS 应用程序中将文本共享到电子邮件或短信中
如何在 Xamarin iOS 中将 CGBitmap 的像素数据作为字节 [] 获取
如何隐藏数字键盘,我使用的是 Xamarin iOS (C#)
如何让 UIView / Menu 滑入和滑出? (使用 C# 而不是 Swift 的 Xamarin IOS)