Xamarin.IOS UIAlertController 自定义字体

            var alertController =UIAlertController.Create ("", messageText, UIAlertControllerStyle.ActionSheet);

            var okButton = UIAlertAction.Create (okText, UIAlertActionStyle.Default,null);
            UIImage image = UIImage.FromBundle ("circle");
            okButton.SetValueForKey (image, new NSString ("image"));

            alertController.AddAction (okButton);


            var messageAttrite = new NSMutableAttributedString (messageText, UIFont.FromName ("GESSThree-Light", 17));
            alertController.SetValueForKey (messageAttrite,new NSString("attributedMessage"));

            var titleAttrite = new NSMutableAttributedString ("", UIFont.FromName ("GESSThree-Light", 17));

            alertController.SetValueForKey (titleAttrite,new NSString("attributedTitle"));


            UIApplication.SharedApplication.KeyWindow.RootViewController.PresentViewController (alertController, true, null);



方案二:自定义类,继承UIAlertController

 public class CustomAlertView:UIAlertController
        {
            public override void ViewWillAppear (bool animated)
            {
                R (this.View);

                base.ViewWillAppear (animated);
            }

            private void R(UIView view)
            {
                foreach (var childView in view.Subviews) 
                {
                    if (childView is UIButton) {
                        ((UIButton)childView).Font = UIFont.FromName ("GESSThree-Light", 15);
                    }
                    if (childView is UILabel) {
                        ((UILabel)childView).Font = UIFont.FromName ("GESSThree-Light", 17);
                    }
                    if (childView.Subviews != null)
                    {
                        R (childView);
                    }
                }
            }
            public override UIAlertControllerStyle PreferredStyle {
                get {
                    return UIAlertControllerStyle.Alert;
                }
            }
        }


使用:

            var alertController =new CustomAlertView();
            alertController.Message = messageText;
            var okButton = UIAlertAction.Create (okText, UIAlertActionStyle.Default,null);
            alertController.AddAction (okButton);
            UIApplication.SharedApplication.KeyWindow.RootViewController.PresentViewController (alertController, true, null);

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值