如何使用c#在Xamarin.Ios中从UIColor转换为字符串和字符串到UIColor

时间:2016-12-15 10:35:03

标签: c# ios uicolor

UILabel label = new UILabel();

 label.TextColor = UIColor.Black;

如何以字符串格式存储UILabel颜色?我想从数据库中获取该颜色并应用于UILabel。如何使用c#?

将UIColor转换为字符串并将字符串转换为UIColor

提前致谢!

2 个答案:

答案 0 :(得分:2)

首先将数据库中的颜色存储为UIColor,如下所示

 string color = yourBtn.BackgroundColor.ToString();

然后将您的颜色转换为UIColor

 string hex = color.;
 nfloat red = Convert.ToInt32(string.Format("{0}{0}",hex.Substring(0, 1)), 16) / 255f;
 nfloat green = Convert.ToInt32(string.Format("{0}{0}",hex.Substring(1, 1)), 16) / 255f;
 nfloat blue = Convert.ToInt32(string.Format("{0}{0}",hex.Substring(2, 1)), 16) / 255f;
 UIColor color = UIColor.FromRGB(red, green, blue);

你需要将字符串分成3个子字符串,以获得红色,绿色,蓝色代码。

答案 1 :(得分:1)

您可以使用8char的十六进制颜色格式(例如#ff0a11ff)

加载/保存字符串时,只需将其解析为字节数组或int数组,因为UILabel.FromRGBA允许您从中创建颜色:https://developer.xamarin.com/api/member/MonoTouch.UIKit.UIColor.FromRGBA/p/System.Int32/System.Int32/System.Int32/System.Int32/

(很抱歉给出了一个anwser而不是评论,我没有声誉)