2012-05-11 4 views
8

Wenn ich UITextView habe und die Schriftgröße auf, sagen wir 32. Wenn ich die Anwendung (im Simulator und auf dem Gerät), sehe ich a Großer Cursor und Text, den ich tippe, erscheinen genau so, wie ich es annehmen würde. Aber wenn ich die Emoji-Tastatur umschalte, werden sie klein angezeigt. Wie die Größe der Schriftart wurde nie erhöht.Erhöhen Sie die Schriftgröße von Emoji-Zeichen in einem UITextView in iOS 5.x

Ich kenne diese Emoji-Schriftarten, wie ich sie in OSX Lion zu riesigen Proportionen gesprengt habe, und wenn ich ein UIButton mit einem Emoji-Zeichen als Beschriftung erstelle und die Schriftart auf "Apple Color Emoji" und die Größe bis 64, sie sehen riesig und wunderschön auf meinem Gerät aus. Es scheint, dass nur die UITextView die Größe nicht ändert.

Antwort

8

Haben Sie versucht, die Schriftart des UITextView auf AppleColorEmoji zu setzen? Auf iOS scheint AppleColorEmoji die einzige Schriftart zu sein, die ein vergrößertes Emoji zeichnet. Verwenden Sie eine andere Schriftart und die Emoji werden nie größer als etwa 20x20 Pixel, wie Sie bemerkt haben.

Ich habe meine Tests mit this handy free app called Fonts!, die eine nette Möglichkeit ist, um eine schnelle Rückmeldung über das eigentliche Gerät selbst zu erhalten.

Ich bemerke, dass die Game Center App in der Lage zu sein scheint, eine interessante Schriftart mit hochskalierten Emoji zu mischen, so dass es eindeutig möglich ist, besser als die (eher Fußgänger) Emoji Schriftart! Ich weiß nicht, ob das etwas Besonderes in seinem Code ist oder etwas Besonderes an der verwendeten Schriftart, die wie eine benutzerdefinierte aussieht.

+0

AppleColorEmoji ist der Weg zu gehen. Keine Leerzeichen. Ich war die gleiche Schriftart Namen aber mit Leerzeichen. –

-1

Sie können Emojis mit jeder Schriftart skalieren, wenn Sie den UITextViews contentScaleFactor festlegen und dann das Textfeld mit einer CGTransform skalieren. (Sie können sie sogar vergrößern vergrößern (mit hoher Auflösung) als AppleColorEmoji Sie standardmäßig gehen können.

float scaleFactor = 2.0f; 
float resolutionFactor = 2.0f; 

CGPoint tempCenter = theTextView.center; 

theTextView.contentScaleFactor *= resolutionFactor; 
theTextView.layer.contentsScale *= resolutionFactor; 


for (UIView *subview in [theTextView subviews]) { 
    subview.contentScaleFactor *= resolutionFactor; 
    subview.layer.contentsScale *= resolutionFactor; 
} 

theTextView.transform = CGAffineTransformScale(CGAffineTransformIdentity, scaleFactor, scaleFactor); 

theTextView.center = tempCenter; 
+0

Auflösung wird schlecht, wenn ich Ihre Lösung mit Apple Emojis mache – coolcool1994

Verwandte Themen