在所有UIButtons上设置自定义字体

时间:2014-09-10 16:52:49

标签: c# ios xamarin.ios uibutton

我想将自定义字体应用于我在Xamarin中创建的iOS应用中的所有按钮。我使用上面的代码在标签上实现了自定义字体:

//Labels
UILabel.Appearance.Font = UIFont.FromName("Lato-Light",16f);

...由于某种原因影响了一些但不是所有按钮。然后我尝试按下按钮上的标签:

var buttonAppearance = UILabel.AppearanceWhenContainedIn(typeof (UIButton));
buttonAppearance.Font = UIFont.FromName("Lato-Light", 16f);

......什么也没做。我应该定位按钮标题吗?我知道这里有很多关于如何在Xcode中设置它的问题,但我在Xamarin.iOS中使用C#。谢谢!

2 个答案:

答案 0 :(得分:1)

因此,由于没有UIButton.Appearance.Font,您可以使用我通常使用的C#解决方法。

制作这样的扩展方法(在静态类中):

public static void ApplyTheme(this UIButton button)
{
    //Set the font on the button or whatever
}

然后从您应用中的每个UIButton上的代码中调用它:

//In ViewDidLoad, AwakeFromNib, etc.
myButton.ApplyTheme();

这将为您提供样式,以便在应用更改时修改所有按钮。

答案 1 :(得分:0)

您可以使用它为按钮文本设置自定义字体。

UIButton.TitleLabel.Font = UIFont.FromName(“ Lato-Light”,16f);