textView configurado en IB de iOS 7 cambia la fuente a la fuente pnetworkingeterminada después de que la propiedad de text se modifica mediante progtwigción

NOTA: La vez que hice esta pregunta fue cuando Apple acaba de lanzar iOS 7. Apple reimplementó UITextView con Text Kit después de iOS 7. UITextView tuvo algunos errores en ese momento. El tema de esta pregunta fue uno de ellos. Pero ahora está arreglado.


Hay un UITextView en mi aplicación que está configurado en IB. La vista de text tiene un text pnetworkingeterminado cuyo tamaño de letra es 60.0f . La vista de text usa una cadena simple para representar el text. Si cambio la propiedad de text de la vista de text mediante progtwigción cuando la aplicación se está ejecutando:

 self.textView.text = @"some text different from default text"; 

la vista de text cambiará la fuente a la fuente pnetworkingeterminada.

configurar fuente mediante progtwigción puede resolver este problema:

 self.textView.font = [UIFont systemFontOfSize:60.0f]; 

Este es un error del nuevo UITextView .

Su comportamiento extraño aparece cuando desmarca Seleccionable en IB. Si marca Seleccionar, su vista de text tiene la fuente correcta. Puede agregar textView.selectable = NO en el código si no desea seleccionarlo

¿Notaste el símbolo T en la pestaña de fuente derecha de la fuente? Usa esto para establecer el tamaño de fuente introduzca la descripción de la imagen aquí

En primer lugar, si configura la fuente a través de IB y en time de ejecución en el método viewdidload de forma progtwigda, entonces xcode siempre seleccionará los valores progtwigdos.

Para configurar la fuente de forma progtwigda, use esto:

 [self.textview setFont:[UIFont fontWithName:@"fontname" size:128.0]]; 

Si cambia self.textview.text , debe establecer una fuente y un tamaño nuevos después de eso. De forma alternativa, en iOS7 + puede cambiar self.textview.attributedText para que primero pueda get todos los attributes del text anterior y luego cambiar el text en NSAttributedString utilizando uno de sus methods. Después de eso, cambia self.textview.attributedText con la cadena atribuida resultante. Si lo hace, reutilizará todos los attributes que especificó en IB.

Este fue un error de UITextView cuando iOS 7 recién lanzado por Apple. Esta arreglado ahora

 // main.m #import <UIKit/UIKit.h> #import "AppDelegate.h" int main(int argc, char * argv[]) { @autoreleasepool { [[NSUserDefaults standardUserDefaults] setBool:NO forKey:@"UIDisableLegacyTextView"]; return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); } } 

iOS7 textview tiene muchos errores.

este código es para "usar para iOS6 Textview"
pero este código no es apple officeial.