Пример #1
0
        public Element MakeSample(string text, UIFontDescriptorSymbolicTraits trait)
        {
            var font = UIFont.FromDescriptor(baseline.CreateWithTraits(trait), 0);

            return(new StyledStringElement(text)
            {
                Font = font
            });
        }
Пример #2
0
        public static UIFont GetFontWithTraits(this UIFontDescriptorSymbolicTraits traits, nfloat size)
        {
            var desc = new UIFontDescriptor();

            desc = desc.CreateWithTraits(traits);
            return(UIFont.FromDescriptor(desc, size));
        }
        private void UpdateFont()
        {
            var hasBold   = Element.FontAttributes.HasFlag(FontAttributes.Bold);
            var hasItalic = Element.FontAttributes.HasFlag(FontAttributes.Italic);

            if (hasBold || hasItalic)
            {
                var withFamily     = new UIFontDescriptor().CreateWithFamily(Element.FontFamily);
                var symbolicTraits = UIFontDescriptorSymbolicTraits.ClassUnknown;

                if (hasBold)
                {
                    symbolicTraits |= UIFontDescriptorSymbolicTraits.Bold;
                }
                if (hasItalic)
                {
                    symbolicTraits |= UIFontDescriptorSymbolicTraits.Italic;
                }

                Control.Font = UIFont.FromDescriptor(withFamily.CreateWithTraits(symbolicTraits), (nfloat)Element.FontSize);
                return;
            }

            //Font without any Bold/Italic attribute.
            Control.Font = UIFont.FromName(Element.FontFamily, (float)Element.FontSize);
        }
Пример #4
0
        internal static UIFont WithTraitsOfFont(this UIFont self, UIFont font)
        {
            UIFontDescriptor fontDescriptor       = self.FontDescriptor;
            UIFontDescriptorSymbolicTraits traits = fontDescriptor.SymbolicTraits;

            traits = traits | font.FontDescriptor.SymbolicTraits;
            UIFontDescriptor boldFontDescriptor = fontDescriptor.CreateWithTraits(traits);

            return(UIFont.FromDescriptor(boldFontDescriptor, self.PointSize));
        }
Пример #5
0
        internal static UIFont Bold(this UIFont font)
        {
            UIFontDescriptor fontDescriptor       = font.FontDescriptor;
            UIFontDescriptorSymbolicTraits traits = fontDescriptor.SymbolicTraits;

            traits = traits | UIFontDescriptorSymbolicTraits.Bold;
            UIFontDescriptor boldFontDescriptor = fontDescriptor.CreateWithTraits(traits);

            return(UIFont.FromDescriptor(boldFontDescriptor, font.PointSize));
        }
Пример #6
0
        public RadioButton_Mobile()
        {
            View = new UIView();

            //Main statck
            layer.BorderWidth  = 1.5f;
            layer.CornerRadius = 10;
            layer.BorderColor  = UIColor.FromRGB(205, 205, 205).CGColor;
            Layer.AddSublayer(layer);

            //inner layer
            innerLayer.BorderWidth  = 1.5f;
            innerLayer.CornerRadius = 10;
            innerLayer.BorderColor  = UIColor.FromRGB(205, 205, 205).CGColor;
            mainStackView.Layer.AddSublayer(innerLayer);

            descriptor = new UIFontDescriptor().CreateWithFamily(amntLabl.Font.FamilyName);
            traits     = traits | UIFontDescriptorSymbolicTraits.Bold;
            descriptor = descriptor.CreateWithTraits(traits);

            //heading
            hedinglbl.Text      = "Complete your Payment";
            hedinglbl.TextColor = UIColor.FromRGB(85, 85, 85);
            hedinglbl.Font      = UIFont.FromDescriptor(descriptor, 20);
            mainStackView.AddSubview(hedinglbl);

            //payable
            payamountlabl.Text      = "Total payable amount";
            payamountlabl.TextColor = UIColor.Black;
            mainStackView.AddSubview(payamountlabl);

            //amount
            amntLabl.Text      = "$120";
            amntLabl.TextColor = UIColor.FromRGB(0, 125, 230);
            amntLabl.Font      = UIFont.FromDescriptor(descriptor, 18);
            mainStackView.AddSubview(amntLabl);

            //amount
            selcetPaylbl.Text = "Select your payment mode";
            mainStackView.AddSubview(selcetPaylbl);

            //RadioGroup
            sfr.Axis    = UILayoutConstraintAxis.Vertical;
            sfr.Spacing = 20;

            netBanking.SetTitle("Net banking", UIControlState.Normal);
            netBanking.StateChanged += paymentMode_StateChanged;
            sfr.AddArrangedSubview(netBanking);

            debitCard.SetTitle("Debit card", UIControlState.Normal);
            debitCard.StateChanged += paymentMode_StateChanged;
            sfr.AddArrangedSubview(debitCard);

            creditCard.SetTitle("Credit card", UIControlState.Normal);
            creditCard.StateChanged += paymentMode_StateChanged;
            sfr.AddArrangedSubview(creditCard);

            mainStackView.AddSubview(sfr);
            View.AddSubview(mainStackView);
            button.SetTitle("Pay Now", UIControlState.Normal);
            button.SetTitleColor(UIColor.LightGray, UIControlState.Disabled);
            button.SetTitleColor(UIColor.White, UIControlState.Normal);
            button.TouchDown      += Button_Clicked;
            button.BackgroundColor = UIColor.FromRGB(0, 125, 230);
            button.Enabled         = false;
            alertView.Message      = "Payment Successfull !";
            alertView.AddButton("OK");
            View.AddSubview(button);
            AddSubview(View);
        }
Пример #7
0
        public static UIFont ToNSFont(this Font self)
#endif
        {
            var size = (float)self.FontSize;

            if (self.UseNamedSize)
            {
                switch (self.NamedSize)
                {
                case NamedSize.Micro:
                    size = 12;
                    break;

                case NamedSize.Small:
                    size = 14;
                    break;

                case NamedSize.Medium:
                    size = 17;                             // as defined by iOS documentation
                    break;

                case NamedSize.Large:
                    size = 22;
                    break;

                default:
                    size = 17;
                    break;
                }
            }

            var bold   = self.FontAttributes.HasFlag(FontAttributes.Bold);
            var italic = self.FontAttributes.HasFlag(FontAttributes.Italic);

            if (self.FontFamily != null && self.FontFamily != DefaultFontName)
            {
                try
                {
#if __MOBILE__
                    if (UIFont.FamilyNames.Contains(self.FontFamily))
                    {
                        var descriptor = new UIFontDescriptor().CreateWithFamily(self.FontFamily);

                        if (bold || italic)
                        {
                            var traits = (UIFontDescriptorSymbolicTraits)0;
                            if (bold)
                            {
                                traits = traits | UIFontDescriptorSymbolicTraits.Bold;
                            }
                            if (italic)
                            {
                                traits = traits | UIFontDescriptorSymbolicTraits.Italic;
                            }

                            descriptor = descriptor.CreateWithTraits(traits);
                            return(UIFont.FromDescriptor(descriptor, size));
                        }
                    }

                    return(UIFont.FromName(self.FontFamily, size));
#else
                    var descriptor = new NSFontDescriptor().FontDescriptorWithFamily(self.FontFamily);

                    if (bold || italic)
                    {
                        var traits = (NSFontSymbolicTraits)0;
                        if (bold)
                        {
                            traits = traits | NSFontSymbolicTraits.BoldTrait;
                        }
                        if (italic)
                        {
                            traits = traits | NSFontSymbolicTraits.ItalicTrait;
                        }

                        descriptor = descriptor.FontDescriptorWithSymbolicTraits(traits);
                        return(NSFont.FromDescription(descriptor, size));
                    }

                    return(NSFont.FromFontName(self.FontFamily, size));
#endif
                }
                catch
                {
                    Debug.WriteLine("Could not load font named: {0}", self.FontFamily);
                }
            }
            if (bold && italic)
            {
                var defaultFont = UIFont.SystemFontOfSize(size);
#if __MOBILE__
                var descriptor = defaultFont.FontDescriptor.CreateWithTraits(UIFontDescriptorSymbolicTraits.Bold | UIFontDescriptorSymbolicTraits.Italic);
                return(UIFont.FromDescriptor(descriptor, 0));
            }
            if (italic)
            {
                return(UIFont.ItalicSystemFontOfSize(size));
            }
#else
                var descriptor = defaultFont.FontDescriptor.FontDescriptorWithSymbolicTraits(
                    NSFontSymbolicTraits.BoldTrait |
                    NSFontSymbolicTraits.ItalicTrait);

                return(NSFont.FromDescription(descriptor, 0));
            }
        private static UIFont GetUIFont(string family, float size, FontAttributes attributes)
        {
            var bold   = (attributes & FontAttributes.Bold) != 0;
            var italic = (attributes & FontAttributes.Italic) != 0;

            if (family != null)
            {
                try
                {
                    UIFont result;

                    if (UIFont.FamilyNames.Contains(family))
                    {
                        var descriptor = new UIFontDescriptor().CreateWithFamily(family);

                        if (bold || italic)
                        {
                            var traits = (UIFontDescriptorSymbolicTraits)0;
                            if (bold)
                            {
                                traits = traits | UIFontDescriptorSymbolicTraits.Bold;
                            }

                            if (italic)
                            {
                                traits = traits | UIFontDescriptorSymbolicTraits.Italic;
                            }

                            descriptor = descriptor.CreateWithTraits(traits);
                            result     = UIFont.FromDescriptor(descriptor, size);
                            if (result != null)
                            {
                                return(result);
                            }
                        }
                    }

                    result = UIFont.FromName(family, size);

                    if (result != null)
                    {
                        return(result);
                    }
                }
                catch
                {
                    Debug.WriteLine("Could not load font named: {0}", family);
                }
            }

            if (bold && italic)
            {
                var defaultFont = UIFont.SystemFontOfSize(size);

                var descriptor = defaultFont.FontDescriptor.CreateWithTraits(UIFontDescriptorSymbolicTraits.Bold | UIFontDescriptorSymbolicTraits.Italic);
                return(UIFont.FromDescriptor(descriptor, 0));
            }
            if (italic)
            {
                return(UIFont.ItalicSystemFontOfSize(size));
            }

            if (bold)
            {
                return(UIFont.BoldSystemFontOfSize(size));
            }

            return(UIFont.SystemFontOfSize(size));
        }
Пример #9
0
        static UIFont _ToNativeFont(string family, float size, FontAttributes attributes)
        {
            var bold   = (attributes & FontAttributes.Bold) != 0;
            var italic = (attributes & FontAttributes.Italic) != 0;

            if (family != null && family != DefaultFontName)
            {
                try
                {
                    UIFont result = null;
                    if (UIFont.FamilyNames.Contains(family))
                    {
                        var descriptor = new UIFontDescriptor().CreateWithFamily(family);

                        if (bold || italic)
                        {
                            var traits = (UIFontDescriptorSymbolicTraits)0;
                            if (bold)
                            {
                                traits = traits | UIFontDescriptorSymbolicTraits.Bold;
                            }
                            if (italic)
                            {
                                traits = traits | UIFontDescriptorSymbolicTraits.Italic;
                            }

                            descriptor = descriptor.CreateWithTraits(traits);
                            result     = UIFont.FromDescriptor(descriptor, size);
                            if (result != null)
                            {
                                return(result);
                            }
                        }
                    }

                    if (family.StartsWith(".SFUI", System.StringComparison.InvariantCultureIgnoreCase))
                    {
                        var fontWeight = family.Split('-').LastOrDefault();

                        if (!string.IsNullOrWhiteSpace(fontWeight) && System.Enum.TryParse <UIFontWeight>(fontWeight, true, out var uIFontWeight))
                        {
                            result = UIFont.SystemFontOfSize(size, uIFontWeight);
                            return(result);
                        }

                        result = UIFont.SystemFontOfSize(size, UIFontWeight.Regular);
                        return(result);
                    }

                    result = UIFont.FromName(family, size);
                    if (result != null)
                    {
                        return(result);
                    }
                }
                catch
                {
                    Debug.WriteLine("Could not load font named: {0}", family);
                }
            }

            if (bold && italic)
            {
                var defaultFont = UIFont.SystemFontOfSize(size);

                var descriptor = defaultFont.FontDescriptor.CreateWithTraits(UIFontDescriptorSymbolicTraits.Bold | UIFontDescriptorSymbolicTraits.Italic);
                return(UIFont.FromDescriptor(descriptor, 0));
            }

            if (italic)
            {
                return(UIFont.ItalicSystemFontOfSize(size));
            }

            if (bold)
            {
                return(UIFont.BoldSystemFontOfSize(size));
            }

            return(UIFont.SystemFontOfSize(size));
        }
Пример #10
0
        public static UIFont ToUIFont(this IFontElement self)
        {
            var family     = self.FontFamily;
            var attributes = self.FontAttributes;
            var size       = (float)self.FontSize;

            var bold   = (attributes & FontAttributes.Bold) != 0;
            var italic = (attributes & FontAttributes.Italic) != 0;

            if (family != null && family != DefaultFontName)
            {
                try
                {
                    UIFont result;
                    if (UIFont.FamilyNames.Contains(family))
                    {
                        var descriptor = new UIFontDescriptor().CreateWithFamily(family);

                        if (bold || italic)
                        {
                            var traits = (UIFontDescriptorSymbolicTraits)0;
                            if (bold)
                            {
                                traits = traits | UIFontDescriptorSymbolicTraits.Bold;
                            }
                            if (italic)
                            {
                                traits = traits | UIFontDescriptorSymbolicTraits.Italic;
                            }

                            descriptor = descriptor.CreateWithTraits(traits);
                            result     = UIFont.FromDescriptor(descriptor, size);
                            if (result != null)
                            {
                                return(result);
                            }
                        }
                    }

                    result = UIFont.FromName(family, size);

                    if (result != null)
                    {
                        return(result);
                    }
                }
                catch
                {
                    Debug.WriteLine("Could not load font named: {0}", family);
                }
            }

            if (bold && italic)
            {
                var defaultFont = UIFont.SystemFontOfSize(size);

                var descriptor = defaultFont.FontDescriptor.CreateWithTraits(UIFontDescriptorSymbolicTraits.Bold | UIFontDescriptorSymbolicTraits.Italic);
                return(UIFont.FromDescriptor(descriptor, 0));
            }
            if (italic)
            {
                return(UIFont.ItalicSystemFontOfSize(size));
            }

            if (bold)
            {
                return(UIFont.BoldSystemFontOfSize(size));
            }

            return(UIFont.SystemFontOfSize(size));
        }
Пример #11
0
        public static UIFont ToUIFont(this Font self)
        {
            var size = (float)self.FontSize;

            if (self.UseNamedSize)
            {
                switch (self.NamedSize)
                {
                case NamedSize.Micro:
                    size = 12;
                    break;

                case NamedSize.Small:
                    size = 14;
                    break;

                case NamedSize.Medium:
                    size = 17;                             // as defined by iOS documentation
                    break;

                case NamedSize.Large:
                    size = 22;
                    break;

                default:
                    size = 17;
                    break;
                }
            }

            var bold   = self.FontAttributes.HasFlag(FontAttributes.Bold);
            var italic = self.FontAttributes.HasFlag(FontAttributes.Italic);

            if (self.FontFamily != null)
            {
                try
                {
                    if (UIFont.FamilyNames.Contains(self.FontFamily) && Forms.IsiOS7OrNewer)
                    {
                        var descriptor = new UIFontDescriptor().CreateWithFamily(self.FontFamily);

                        if (bold || italic)
                        {
                            var traits = (UIFontDescriptorSymbolicTraits)0;
                            if (bold)
                            {
                                traits = traits | UIFontDescriptorSymbolicTraits.Bold;
                            }
                            if (italic)
                            {
                                traits = traits | UIFontDescriptorSymbolicTraits.Italic;
                            }

                            descriptor = descriptor.CreateWithTraits(traits);
                            return(UIFont.FromDescriptor(descriptor, size));
                        }
                    }

                    return(UIFont.FromName(self.FontFamily, size));
                }
                catch
                {
                    Debug.WriteLine("Could not load font named: {0}", self.FontFamily);
                }
            }
            if (bold && italic)
            {
                if (!Forms.IsiOS7OrNewer)
                {
                    // not sure how to make a font both bold and italic in iOS 6, default to bold
                    return(UIFont.BoldSystemFontOfSize(size));
                }

                var defaultFont = UIFont.SystemFontOfSize(size);
                var descriptor  = defaultFont.FontDescriptor.CreateWithTraits(UIFontDescriptorSymbolicTraits.Bold | UIFontDescriptorSymbolicTraits.Italic);
                return(UIFont.FromDescriptor(descriptor, 0));
            }
            if (bold)
            {
                return(UIFont.BoldSystemFontOfSize(size));
            }
            if (italic)
            {
                return(UIFont.ItalicSystemFontOfSize(size));
            }
            return(UIFont.SystemFontOfSize(size));
        }
Пример #12
0
        static UIFont _ToUIFont(string family, float size, FontAttributes attributes)
        {
            var bold   = (attributes & FontAttributes.Bold) != 0;
            var italic = (attributes & FontAttributes.Italic) != 0;

            if (string.IsNullOrWhiteSpace(family) && !string.IsNullOrWhiteSpace(Application.DefaultFontFamily))
            {
                var s1 = Application.DefaultFontFamily;
                if (s1.Contains("#"))
                {
                    s1 = s1.Substring(0, s1.IndexOf("#"));
                }
                if (s1.Contains(".ttf"))
                {
                    s1 = s1.Substring(0, s1.IndexOf(".ttf"));
                }
                family = s1;
            }

            if (family != null)
            {
                try
                {
                    UIFont result;
                    if (UIFont.FamilyNames.Contains(family) && Forms.IsiOS7OrNewer)
                    {
                        var descriptor = new UIFontDescriptor().CreateWithFamily(family);

                        if (bold || italic)
                        {
                            var traits = (UIFontDescriptorSymbolicTraits)0;
                            if (bold)
                            {
                                traits = traits | UIFontDescriptorSymbolicTraits.Bold;
                            }
                            if (italic)
                            {
                                traits = traits | UIFontDescriptorSymbolicTraits.Italic;
                            }

                            descriptor = descriptor.CreateWithTraits(traits);
                            result     = UIFont.FromDescriptor(descriptor, size);
                            if (result != null)
                            {
                                return(result);
                            }
                        }
                    }

                    result = UIFont.FromName(family, size);
                    if (result != null)
                    {
                        return(result);
                    }
                }
                catch
                {
                    Debug.WriteLine("Could not load font named: {0}", family);
                }
            }

            if (bold && italic)
            {
                var defaultFont = UIFont.SystemFontOfSize(size);

                if (!Forms.IsiOS7OrNewer)
                {
                    // not sure how to make a font both bold and italic in iOS 6, default to bold
                    return(UIFont.BoldSystemFontOfSize(size));
                }

                var descriptor = defaultFont.FontDescriptor.CreateWithTraits(UIFontDescriptorSymbolicTraits.Bold | UIFontDescriptorSymbolicTraits.Italic);
                return(UIFont.FromDescriptor(descriptor, 0));
            }
            if (bold)
            {
                return(UIFont.BoldSystemFontOfSize(size));
            }
            if (italic)
            {
                return(UIFont.ItalicSystemFontOfSize(size));
            }

            return(UIFont.SystemFontOfSize(size));
        }
Пример #13
0
		public static UIFont ToUIFont(this Font self)
		{
			var size = (float)self.FontSize;
			if (self.UseNamedSize)
			{
				switch (self.NamedSize)
				{
					case NamedSize.Micro:
						size = 12;
						break;
					case NamedSize.Small:
						size = 14;
						break;
					case NamedSize.Medium:
						size = 17; // as defined by iOS documentation
						break;
					case NamedSize.Large:
						size = 22;
						break;
					default:
						size = 17;
						break;
				}
			}

			var bold = self.FontAttributes.HasFlag(FontAttributes.Bold);
			var italic = self.FontAttributes.HasFlag(FontAttributes.Italic);

			if (self.FontFamily != null)
			{
				try
				{
					if (UIFont.FamilyNames.Contains(self.FontFamily) && Forms.IsiOS7OrNewer)
					{
						var descriptor = new UIFontDescriptor().CreateWithFamily(self.FontFamily);

						if (bold || italic)
						{
							var traits = (UIFontDescriptorSymbolicTraits)0;
							if (bold)
								traits = traits | UIFontDescriptorSymbolicTraits.Bold;
							if (italic)
								traits = traits | UIFontDescriptorSymbolicTraits.Italic;

							descriptor = descriptor.CreateWithTraits(traits);
							return UIFont.FromDescriptor(descriptor, size);
						}
					}

					return UIFont.FromName(self.FontFamily, size);
				}
				catch
				{
					Debug.WriteLine("Could not load font named: {0}", self.FontFamily);
				}
			}
			if (bold && italic)
			{
				if (!Forms.IsiOS7OrNewer)
				{
					// not sure how to make a font both bold and italic in iOS 6, default to bold
					return UIFont.BoldSystemFontOfSize(size);
				}

				var defaultFont = UIFont.SystemFontOfSize(size);
				var descriptor = defaultFont.FontDescriptor.CreateWithTraits(UIFontDescriptorSymbolicTraits.Bold | UIFontDescriptorSymbolicTraits.Italic);
				return UIFont.FromDescriptor(descriptor, 0);
			}
			if (bold)
				return UIFont.BoldSystemFontOfSize(size);
			if (italic)
				return UIFont.ItalicSystemFontOfSize(size);
			return UIFont.SystemFontOfSize(size);
		}
Пример #14
0
		static UIFont _ToUIFont(string family, float size, FontAttributes attributes)
		{
			var bold = (attributes & FontAttributes.Bold) != 0;
			var italic = (attributes & FontAttributes.Italic) != 0;

			if (family != null)
			{
				try
				{
					UIFont result;
					if (UIFont.FamilyNames.Contains(family) && Forms.IsiOS7OrNewer)
					{
						var descriptor = new UIFontDescriptor().CreateWithFamily(family);

						if (bold || italic)
						{
							var traits = (UIFontDescriptorSymbolicTraits)0;
							if (bold)
								traits = traits | UIFontDescriptorSymbolicTraits.Bold;
							if (italic)
								traits = traits | UIFontDescriptorSymbolicTraits.Italic;

							descriptor = descriptor.CreateWithTraits(traits);
							result = UIFont.FromDescriptor(descriptor, size);
							if (result != null)
								return result;
						}
					}

					result = UIFont.FromName(family, size);
					if (result != null)
						return result;
				}
				catch
				{
					Debug.WriteLine("Could not load font named: {0}", family);
				}
			}

			if (bold && italic)
			{
				var defaultFont = UIFont.SystemFontOfSize(size);

				if (!Forms.IsiOS7OrNewer)
				{
					// not sure how to make a font both bold and italic in iOS 6, default to bold
					return UIFont.BoldSystemFontOfSize(size);
				}

				var descriptor = defaultFont.FontDescriptor.CreateWithTraits(UIFontDescriptorSymbolicTraits.Bold | UIFontDescriptorSymbolicTraits.Italic);
				return UIFont.FromDescriptor(descriptor, 0);
			}
			if (bold)
				return UIFont.BoldSystemFontOfSize(size);
			if (italic)
				return UIFont.ItalicSystemFontOfSize(size);

			return UIFont.SystemFontOfSize(size);
		}