Share via


UIContentSizeCategory Enum

Definition

An enumeration whose values specify the various dynamic type sizes that can be chosen by the application user.

public enum UIContentSizeCategory
type UIContentSizeCategory = 
Inheritance
UIContentSizeCategory

Fields

Name Value Description
Unspecified 0
ExtraSmall 1

Quite small.

Small 2

A small font.

Medium 3

A medium-sized font.

Large 4

A large font.

ExtraLarge 5

An extra-large font.

ExtraExtraLarge 6

A font that's larger than ExtraLarge.

ExtraExtraExtraLarge 7

A font that's larger than ExtraExtraLarge.

AccessibilityMedium 8

A medium font reflecting the current accessibility settings.

AccessibilityLarge 9

A medium font reflecting the current accessibility settings.

AccessibilityExtraLarge 10

A medium font reflecting the current accessibility settings.

AccessibilityExtraExtraLarge 11

A medium font reflecting the current accessibility settings.

AccessibilityExtraExtraExtraLarge 12

A medium font reflecting the current accessibility settings.

Remarks

After the application user has set the "Text Size Property" in Settings, the application will receive a notification via ObserveContentSizeCategoryChanged(EventHandler<UIContentSizeCategoryChangedEventArgs>). It is the application developer's responsibility, at that point, to invalidate the layout in all view elements that implement Dynamic Type. The simplest way to do that is to have a method that re-sets the font in all components that support Dynamic Type:

UIApplication.Notifications.ObserveContentSizeCategoryChanged((s,e) => {
	SetDynamicTypeFonts();
});

//Call this when initializing, and also in response to ObserveContentSizeCategoryChanged notifications
private void SetDynamicTypeFonts()
{
	headlineLabel.Font = UIFont.PreferredFontForTextStyle(UIFontTextStyle.Headline);
	bodyText.Font = UIFont.PreferredFontForTextStyle(UIFontTextStyle.Body);
//...etc...
}

Applies to