2017-02-08 2 views
0

Mon application est développée en utilisant Xamarin.iOS et je dois la rendre accessible. Nous n'avons pas trouvé d'aide pour atteindre une grande accessibilité au texte dans xamarin.iOS. J'ai trouvé this lien qui explique comment y parvenir dans Xamarin.Forms et this sur MonoTouch. Quelqu'un pourrait-il m'aider à atteindre l'accessibilité du texte grand format sur Xamarin.iOS.Comment pouvons-nous atteindre une grande accessibilité des polices dans Xamarin.iOS?

+3

double possible de [Comment puis-je favoriser l'accessibilité dans les tailles de police Xa formes de marin?] (http://stackoverflow.com/questions/38066791/how-do-i-support-accessibility-font-sizes-in-xamarin-forms) – Cheesebaron

Répondre

0

MonoTouch et Xamarin.iOS sont la même chose, juste un nom différent.

Il est réalisé de la même manière exacte, où vous définissez la propriété Font de votre UILabel ou UITextField à l'une des polices disponibles dans la classe statique UIFont comme ceci:

var label = new UILabel 
{ 
    Font = UIFont.PreferredBody 
}; 

Cela devrait automatiquement l'échelle de la les polices en fonction de vos paramètres d'accessibilité sur iOS.

+0

Merci @Cheesebaron pour votre réponse. Si l'on veut donner une taille de police spécifique en fonction des redlines partagées par le concepteur, cela peut-il encore être réalisé? –

0

Assigner un des UIFontTextStyle s à vos éléments d'interface utilisateur et lorsque l'application commence la taille du texte de l'élément sera défini en fonction de la UIFontTextStyle et le réglage Accessibility Larger Text actuel de l'utilisateur:

var uiLabel = new UILabel(new CGRect(40, 40, 200, 40)); 
uiLabel.Text = "StackOverflow"; 
uiLabel.Font = UIFont.GetPreferredFontForTextStyle(UIFontTextStyle.Body); 
View.AddSubview(uiLabel); 

Si vous voulez une réponse dynamique aux changements Accessibility Larger Text afin que l'utilisateur n'a pas à redémarrer votre application, abonnez-vous à UIContentSizeCategoryDidChangeNotification et mettre à jour votre point de vue:

NSNotificationCenter.DefaultCenter.AddObserver(
    new NSString("UIContentSizeCategoryDidChangeNotification"), 
    (NSNotification obj) => 
    { 
     Console.WriteLine("Update layouts/subviews/layers/etc..."); 
     View.SetNeedsLayout(); 
    }, 
    null 
); 
+0

Merci @SushiHangover, mais comment pouvons-nous appliquer la taille de police spécifique qui est donnée dans les lignes rouges et le faire fonctionner avec un grand paramètre de texte. –

+0

@NarenderReddy La vraie question est de savoir si vos concepteurs ont inclus des considérations 'Dynamic Type' dans votre document Redline? Et quelles tailles de police votre interface utilisateur va prendre en charge (et non prendre en charge) en termes de taille de type dynamique, car la modification de la taille de la police peut entraîner la refusion de l'interface utilisateur en fonction de ses contraintes. Toutes les applications ne prennent pas en charge les tailles de polices d'accessibilité dynamique et n'ont pas non plus besoin de .... Cela dépend des exigences de votre application et doit être indiqué dans vos documents redline/wireframes/mockapps – SushiHangover

+0

Merci @SushiHangover. Ma situation est, l'application est développée sans accessibilité d'abord et maintenant nous devons le rendre accessible, il n'y a pas de redlines en tant que tel maintenant. Mais, je me demande s'il y a une chance que l'accessibilité de grande police puisse être activée au-dessus de la taille de police spécifique qui est déjà appliquée. –